0

WIX でビルドされているインストーラーがあります。インストールには 2 つの異なるパスがあり、そのうちの 1 つにサービスのインストールが含まれます。

このサービスは Topshelf で作成されているため、カスタム アクションを使用してインストールする必要がありました。どうすればよいか分からないのは、特定のインストール タイプまたはレベルでのみカスタム アクションを実行することです。

<CustomAction Id="ConfigureInstallSyncClient" Property="InstallSyncClient" Value='"[InstallDirectory]Sync.Client.WindowsService.exe" install' Execute="immediate"/>
<CustomAction Id="InstallSyncClient" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check" Impersonate="no"/>


<InstallExecuteSequence>
  <Custom Action="ConfigureInstallSyncClient" Before="StartServices">NOT (REMOVE ~= "ALL")</Custom>
  <Custom Action="InstallSyncClient" After="ConfigureInstallSyncClient">NOT (REMOVE ~= "ALL")</Custom>
</InstallExecuteSequence>

私たちがやっていることです。サービスをインストールしたい場合は機能しますが、サービスをインストールしていない場合は失敗します

4

1 に答える 1