2010-09-21 15 views
26

Nous devons modifier le type de démarrage de notre service Windows de "Automatique" à "Démarrage différé automatique". Comment puis-je faire cela?Comment changer le type de démarrage du service Windows dans un installateur WiX

Mon code est comme ceci:

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

Et comment puis-je configurer le temps de service de redémarrage? Je voudrais définir le service de redémarrage après 2 minutes en cas d'échec.

Répondre

-2

Je n'arrivais pas à comprendre comment utiliser le service "Démarrage différé automatique" avec l'élément ServiceInstall (puisqu'il ne s'agit pas d'une option dans l'énumération), donc j'ai fini par le paramétrer avec une valeur reg . Je l'ai mis dans le même composant que ServiceInstall, et tout semble fonctionner correctement. J'imagine que vous pourriez faire la même chose pour le temps de redémarrage du service.

+1

il ne fonctionne pas sur le serveur 2008. –

+1

@Cooper, le "DelayedAutostart" travaille pour moi sur un 64 bit Server 2008 SP2 machine. Je ne peux pas commenter le temps de redémarrage cependant. –

+1

Ce n'est pas une bonne réponse. –

55

Placez un élément ServiceConfig dans l'élément ServiceInstall.

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

wix: ServiceConfig –

+1

Je l'ai testé. ServiceConfig a les propriétés requises comme indiqué ci-dessous. Sans eux, il ne compilera pas.

+0

Oui, j'ai corrigé l'extrait de code puisque l'original casse une erreur WiX. –