我有一个WiX脚本,用于安装服务。我在ServiceInstall
下面有Component
个元素。
<ServiceInstall Id="ServiceInstaller" Type="ownProcess" Vital="yes"
Name="abc" DisplayName="abc service"
Description="It does this" Start="auto"
Account="LocalSystem" ErrorControl="normal" Interactive="no">
<ServiceConfig DelayedAutoStart="yes" OnInstall="yes" OnReinstall ="yes" />
</ServiceInstall>
从代码中可以看出,我正在使用带有 ServiceConfig
标志的DelayedAutoStart
来将服务设置为在延迟自动启动模式下启动。但是,WiX编译器(candle.exe
)会触发警告:
警告CNDL1150:ServiceConfig功能记录在 Windows Installer SDK到&#34;没有按预期工作。&#34;考虑更换 ServiceConfig与WixUtilExtension ServiceConfig元素。
因此,我尝试使用util:ServiceConfig
^,但是这个元素没有任何属性来控制服务启动。
^ 命名空间导入:
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
因此,问题很简单:
答案 0 :(得分:0)
检查source后,目前似乎不可能。 Wix仅使用SERVICE_CONFIG_FAILURE_ACTIONS
参数调用ChangeServiceConfig2 function,而不调用SERVICE_CONFIG_DELAYED_AUTO_START_INFO
。
如果我是你,我会在CMD中编写一个名为sc config abc start=delayed-auto
的自定义操作。
至于你的第二个问题,为版本大于Vista的所有版本添加VersionNT版本条件(VersionNT >= 600
)