gpt4 book ai didi

wix - 将服务配置为延迟自动启动(以及 XP/2003 上的自动启动)

转载 作者:行者123 更新时间:2023-12-03 21:27:39 25 4
gpt4 key购买 nike

我有一个 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 ) 会触发警告:

warning CNDL1150: ServiceConfig functionality is documented in the Windows Installer SDK to "not [work] as expected." Consider replacing ServiceConfig with the WixUtilExtension ServiceConfig element.



因此,我尝试使用 util:ServiceConfig ^,但是这个元素没有任何属性来控制服务启动。

^ 命名空间导入:
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

因此,问题很简单:
  • 如何将服务启动设置为自动(延迟启动)?
  • 如何有条件地仅在 Vista 及以上版本上执行,而在 Windows XP/2003 上执行正常(自动)?
  • 最佳答案

    检查后source目前看来是不可能的。 Wix 调用 ChangeServiceConfig2 function只有 SERVICE_CONFIG_FAILURE_ACTIONS参数而不是 SERVICE_CONFIG_DELAYED_AUTO_START_INFO .

    如果我是你,我会写一个自定义操作调用 sc config abc start=delayed-auto在 CMD 中。

    至于你的第二个问题,添加VersionNT版本条件(VersionNT >= 600适用于所有大于Vista的版本)

    关于wix - 将服务配置为延迟自动启动(以及 XP/2003 上的自动启动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43972417/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com