1

インストーラーの作成には SharpSetup を使用しています。そこにはいくつかのカスタム ロジック (カスタム ダイアログなど) があり、その後に実際の Wix インストーラーが続き、とりわけサービスをインストールします。サービスをインストールするには、ServiceInstall タグを使用します。

ここで、サービスを実行するユーザーを選択できるようにします。インストール フローはすべて整っていますが、ServiceInstall 構成の変更に行き詰まっています。XML ファイルにはユーザーまたはパスワードがリストされておらず、ユーザーとパスワードのペアを使用して上書きする方法がわかりません。 XMLファイルに書かれています。

環境変数 (Wix でサポートされているようです) を使用することを考えていましたが、評価が早すぎることを理解しています (つまり、エンドユーザーにサービス アカウントを設定させる前のインストーラーの起動時)。さらに、環境変数をパスワードの保存に使用するのはかなり安全ではないようです。

利用可能な MsiConnection.Instance オブジェクトのコンテンツを調べ始めたところ、サービス「Component」と思われるものが見つかりましたが、それを構成できるようには見えませんでした。

独自のコードを使用してサービスを手動でインストールすることもできますが、これには Wix/MSI 機能を活用したいと考えていました。

ServiceInstall 構成をプログラムでオーバーライドできますか?

4

1 に答える 1

1

したがって、明らかに MSI プロパティ ( http://msdn.microsoft.com/en-us/library/windows/desktop/aa370391%28v=vs.85%29.aspxなどを参照) を使用できます。プロパティ (例: SERVICE_USER) を XML のアカウント名に割り当て、プログラムで SharpSetup の SetProperty を呼び出して、実行時にこのプロパティを設定できます。

于 2013-10-01T21:31:48.037 に答える