6

WiX 3.5を使用して、Windowsサービスをインストールし、DLLをサードパーティアプリのbinディレクトリにコピーするインストーラーを作成しています。サードパーティのアプリには一連のWindowsサービスもあり、インストールの完了後にDLLがコピーされて開始される前に停止する必要があります。これを達成するために私は何をする必要がありますか。例を探しましたが、インストールしているサービスの開始方法しか見つかりません。

***ちなみに、私がインストールしているサービスは、特定のユーザーアカウントで実行する必要があります。WIXでサービスアカウント/パスワードを定義する方法はわかりますが、パスワードが暗号化されていない状態でXMLに保存されるため、使用するのをためらっています。セキュリティ上の懸念があります。

4

2 に答える 2

8

まず、サービスを停止するには、ServiceControl 要素を使用する必要があります。

<ServiceControl Id="serviceName" Name="actualServiceName" Stop="both" Start="both" Wait ="yes" />

あなたの側に答えないために、ユーザー名とパスワードを、ユーザーが MSI に送信するか、ユーザーが GUI から入力するプロパティにすることができます。

<ServiceInstall Id="serviceName" Name="shortName" DisplayName="longName" Type="ownProcess" Start="auto" ErrorControl="normal" Account="[USER]" Password="[USERPWD]" Description="description" />
<Property Id="USER" Value="defaultValue" />
<Property Id="USERPWD" Value="defaultValue" Hidden="yes" />

もちろん、デフォルト値は不要であり、あまり推奨されていませんが、それでもそこに入れています。

于 2012-06-14T08:29:26.353 に答える
4

使用する<ServiceControl/>

<ServiceControl Id="thirdPartyService" Name="thirdPartyService" Stop="install" Start="install" Wait="yes" />
于 2012-06-13T18:07:13.547 に答える