简体   繁体   中英

How to change the Windows service startup type in a WiX installer

We need to modify the Startup type of our Windows service from "Automatic" to "Automatic Delayed Start". How do I do this?

My code is like this:

<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>

And how do I set the Restart service time? I would like to set Restart service after 2 minutes if failed.

ServiceInstall元素中放置一个ServiceConfig元素。

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

If you need to support really old versions of Windows, then you will need to set it with a reg-value, because MSI < 5.0 doesn't recognize this option with ServiceConfig. Otherwise, you should use the ServiceConfig method.

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

I put this in the same component as the ServiceInstall, and everything seems to work fine. I imagine you could do the same thing for the service restart time.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM