【发布时间】:2010-03-23 13:31:21
【问题描述】:
我在 WiX 安装程序中有一个 ServiceInstall 组件,我需要根据传递给 MSI 的参数启动自动或按需启动。
所以有问题的 Xml 元素是
<ServiceInstall Vital="yes"
Name="My Windows Service"
Type="ownProcess"
Account="[SERVICEUSERDOMAIN]\[SERVICEUSERNAME]"
DisplayName="My Service"
Password="[SERVICEUSERPASSWORD]"
Start="demand"
Interactive="no"
Description="Something interesting here"
Id="Service"
ErrorControl="ignore"></ServiceInstall>
WiX 不允许对 Start 属性使用参数,因此我坚持使用条件完全复制组件,例如/
<Component Id="ServiceDemand"
Guid="{E204A71D-B0EB-4af0-96DB-9823605050C7}" >
<Condition>SERVICESTART="demand"</Condition>
...
并完全复制整个组件,使用不同的 Start 设置和不同的 Condition。
有人知道更优雅的解决方案吗?我不需要维护 2 个组件,除了 Start 的属性之外,它们做的事情完全相同?
【问题讨论】:
-
哎呀,真糟糕。我认为在有人在 WiX 中修复之前,您会一直使用当前使用的方法。
标签: .net windows-services wix serviceinstall