Wix 3是否具有仅检查服务是否存在的内置方式?我能想到的最接近的猜测是使用ServiceConfig并尝试检测故障。
最佳答案
AppSecInc。社区MSI扩展具有Service_Exists自定义操作。
http://msiext.codeplex.com
在线文档:
http://code.dblock.org/Source/msiext/1.2/Docs/_custom_actions_2_system_tools_2_service_impl_8h.html#a6fdcddc7b04a310a368c08726d3be6b3
<Binary Id="SystemTools" SourceFile="$(var.BinDir)\SystemTools.dll" />
<CustomAction Id="SetServiceName" Property="SERVICE_NAME" Value="Service1" />
<CustomAction Id="ServiceExists" BinaryKey="SystemTools" DllEntry="Service_Exists" Execute="immediate" Return="check" />
<InstallExecuteSequence>
<Custom Action="SetServiceName" After="InstallFiles">NOT Installed</Custom>
<Custom Action="ServiceExists" After="SetServiceName">NOT Installed</Custom>
</InstallExecuteSequence>
如果存在服务,则SERVICE_EXISTS设置为“ 1”,否则设置为“ 0”。