我们在 WIX 中构建了一个安装程序。安装采用两种不同的路径,其中之一包括服务安装。
该服务是用 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>
是我们正在做的事情。它在我们想要安装服务时工作,但在我们不安装服务时失败