Ответ 1
Поместите элемент ServiceConfig
элемент ServiceInstall
.
<ServiceConfig DelayedAutoStart="yes" OnInstall="yes" OnReinstall ="yes" />
Нам нужно изменить тип запуска нашей службы 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>
И как установить время перезапуска Restart? Я бы хотел установить службу Restart через 2 минуты, если не удалось.
Поместите элемент ServiceConfig
элемент ServiceInstall
.
<ServiceConfig DelayedAutoStart="yes" OnInstall="yes" OnReinstall ="yes" />
Я не мог понять, как заставить службу использовать "Automatic Delayed Start" с элементом ServiceInstall (поскольку он не является опцией в перечислении), поэтому я закончил настройку его значением reg.
<RegistryValue Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\[ServiceName]"
Type="integer" Name="DelayedAutostart" Value="1"/>
Я помещал это в тот же компонент, что и ServiceInstall, и все, кажется, работает нормально. Я думаю, вы могли бы сделать то же самое для времени перезапуска службы.