如何在WiX安装程序中更改Windows服务启动类型

时间:2010-09-21 19:10:37

标签: windows installer service wix windows-installer

我们需要将Windows服务的启动类型从“自动”修改为“自动延迟启动”。我该怎么做?

我的代码是这样的:

<ServiceInstall
    Id="WinServiceInstall"
    Name="ServiceManager"
    DisplayName="ServiceManager"
    Type="ownProcess"
    Start="auto"
    ErrorControl="normal"
    Vital ='yes'
    Description ='Monitoring and running the jobs'
    Account="[SERVICEACCOUNT]"
    Password="[SERVICEPASSWORD]">
    <util:ServiceConfig
        FirstFailureActionType="restart"
        SecondFailureActionType="restart"
        ThirdFailureActionType ="restart"
        cRestartServiceDelayInSeconds ="10" />
</ServiceInstall>

如何设置重启服务时间?如果失败,我想在2分钟后设置重启服务。

2 个答案:

答案 0 :(得分:59)

ServiceInstall元素中放置ServiceConfig元素。

<ServiceConfig DelayedAutoStart="yes" OnInstall="yes" OnReinstall ="yes" />

答案 1 :(得分:-2)

我无法弄清楚如何让服务使用ServiceInstall元素使用“自动延迟启动”(因为它不是枚举中的一个选项),所以我最终设置了一个reg-value。

<RegistryValue Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\[ServiceName]"
               Type="integer" Name="DelayedAutostart" Value="1"/>

我把它放在与ServiceInstall相同的组件中,一切似乎都运行正常。我想你可以为服务重启时间做同样的事情。