有没有办法通过使用属性设置服务启动类型? WiX因某些原因无法识别该物业。这应该不难,但我无法使其发挥作用。
<Property Id="StartUpType" Value="auto" />
...
...
<Component Id="..." Guid="...">
<File Id='...' Name='...' DiskId='1' Source='...' KeyPath='yes'/>
<ServiceInstall
Id="..."
Type="ownProcess"
Name="..."
DisplayName="..."
Description="..."
Start="[StartUpType]"
Account="[SERVICEACCOUNT]"
Password="[SERVICEPASSWORD]"
ErrorControl="normal"
Vital="yes"
Interactive="no" />
<ServiceControl Id="ServiceControl1" Stop="uninstall" Remove="both" Name="..." Wait="yes" />
更准确地说,这一行
Start="[StartUpType]"
没有认出我的属性。
错误:ServiceInstall / @ Start属性的值'[StartUpType]'不是合法选项之一:'auto','demand'或'disabled'。
是否有任何建议让它认出我的财产?谢谢!
答案 0 :(得分:2)
有些事情,只有Formatted类型的Windows Installer中的列可以使用[Property]替换是运行时。唯一的解决方法是使用ServiceInstall表的不同实现的2个组件,其中组件具有互斥条件,因此只安装了1个。
此外,只有公共属性[PROPERTY]标记有安全属性(也称为安全自定义公共属性)才能被替换,因为监管公共和私有属性不会从UI持续执行序列。
预处理器路由仅在您想要构建类似但不同的MSI时才有效。 (构建时间变化点。)如果您需要安装时间变化点,则必须使用利用SQL临时表的自定义操作来进行互斥组件路由或更难动态安装的ServiceInstall表路由。 (更难......)