如何编写用于服务搜索的条件标签

How to write a condition tag for service search

我正在使用 WIX 为 C# 服务创建 MSI 安装程序。 MSI 做 3 个工作:

a) 将解决方案文件从 bin 复制到特定位置。

b) 创建一个文件夹,服务在其中写入日志。

c) 如果该服务以前不存在,请在机器上安装该服务。

我想写一个条件来检查机器上是否已经安装了服务。

这是注册表搜索:

<Property Id="MYSERVICE">
  <RegistrySearch Id="SERVICE_CHECK" Root="HKLM" Name="Install" Type="raw" Key="SYSTEM\CurrentControlSet\services\Service"/>
</Property>

这是使用自定义操作安装服务的代码:

<Condition Message="service der already"><![CDATA[Installed OR (MYSERVICE <> Null)]]></Condition>
<InstallExecuteSequence>
  <Custom Action='CMDInstallService' Before='InstallFinalize'></Custom>
</InstallExecuteSequence>

我该如何编写条件,它将检查服务是否存在然后什么都不做,否则安装服务。

鉴于服务是产品的一部分,将其分配给自己的功能将处理此问题。

答案是这样的,问题出在语法上。

语法应该是

不提供服务是最佳答案。