【发布时间】:2015-08-03 13:38:51
【问题描述】:
我正在使用 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>
我如何编写条件,它将检查服务是否存在然后什么都不做,否则安装服务。
【问题讨论】:
标签: visual-studio wix windows-installer