Installation Wix-使用属性设置服务启动类型,属性不可识别?

Installation Wix-使用属性设置服务启动类型,属性不可识别?,installation,wix,wix3.5,Installation,Wix,Wix3.5,有没有办法通过使用属性来设置服务启动类型?由于某种原因,WiX无法识别该属性。这应该不难,但我很难做到 <Property Id="StartUpType" Value="auto" /> ... ... <Component Id="..." Guid="..."> <File Id='...' Name='...' DiskId='1' Source='...' KeyPath='yes'/> <ServiceInstall Id="...

有没有办法通过使用属性来设置服务启动类型?由于某种原因,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" />
不认识我的猪

错误:ServiceInstall/@Start属性的值“[StartUpType]”不是合法选项之一:“自动”、“请求”或“禁用”


有什么建议让它承认我的财产吗?谢谢

在运行时,只有Windows Installer中格式化类型的列才能使用[Property]替换。唯一的解决方法是使用ServiceInstall表的不同实现的两个组件,其中组件具有互斥条件,因此只能安装1个

此外,只有标记有安全属性(也称为安全自定义公共属性)的公共属性[PROPERTY]可以被替换,因为调节器的公共和私有属性不会从UI持久化以执行序列


只有当您想要构建类似但不同的MSI时,预处理器路由才会起作用。(构建时变化点。)如果需要安装时变化点,则必须使用利用SQL临时表的自定义操作执行互斥组件路由或更硬的动态emmited ServiceInstall表路由。(难度更大…

谢谢。对我来说,我有一个单选按钮对话框,可以改变服务启动类型。因此,我想我将采用两个组件的方式。这将需要为不同的启动类型使用两个不同的.exe,或者由两个不同的组件安装相同的文件,这两个组件看起来都很糟糕
Start="[StartUpType]"