4


2

サービスの*インストール*でパラメータを渡したいと思います。 Installerから継承したクラスのC#コードを修正しました。 私の問題は、InstallUtil.exeがパラメータで動作しないことです(私の知る限りではありません)。

なにか提案を?

4 Answer


9


私たちは同じシナリオを持っていて、それはうまくいきます。 あなたは次のようにパラメータを渡す必要があります

InstallUtil.exe / Param1 = "値" / Param2 = "値" "exeファイルへのパス"

それからあなたはあなたのインストーラのInstallメソッドをオーバーライドする必要があります

パブリックオーバーライドvoid Install(System.Collections.IDictionary stateSaver){var lParam1 = GetParam( "Param1"); }

プライベート文字列GetParam(string pKey){try {if(this.Context!= null){if(this.Context.Parameters!= null){string lParamValue = this.Context.Parameters [pKey]; if(lParamValue!= null)はlParamValueを返します。 catch(Exception){} return string.Empty;}}}} }


2


実際には、.NET Frameworkに付属の.NETインストーラユーティリティであるInstallUtil.exeを使って実行できます。

この CodeProjectの記事をご覧ください。


0


http://nsis.sourceforge.net/Main_Page[NSIS]をお試しください。 インストール用に構築されたスクリプト言語であり、あらゆる方法で複雑なことを実行できます。 個人的には、「次へ」、「次へ」、「次へ」以外のインストールに使用します。 とてもなめらかで、学ぶのがそれほど難しくありません。


0


Visual Studioまたは Wixのようなものでビルドしてインストールします。 Visual Studioでは、 カスタムアクションを実行して、CustomActionDataフィールドにパラメーターを渡すことができます。