2010-09-21 8 views
26

Abbiamo bisogno di modificare il tipo di avvio del nostro servizio Windows da "Automatico" a "Avvio automatico ritardato". Come faccio a fare questo?Come modificare il tipo di avvio del servizio Windows in un programma di installazione WiX

Il mio codice è simile a questo:

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

E come faccio a impostare il tempo di servizio Restart? Mi piacerebbe impostare il servizio di riavvio dopo 2 minuti in caso di errore.

risposta

-2

Non riuscivo a capire come ottenere il servizio per utilizzare "Avvio automatico ritardato" con l'elemento ServiceInstall (poiché non è un'opzione nell'enumerazione), quindi ho finito per impostarlo con un valore reg .

Inserisco questo nello stesso componente del ServiceInstall e tutto sembra funzionare correttamente. Immagino che potresti fare la stessa cosa per il tempo di riavvio del servizio.

+1

non funziona sul Server 2008. –

+1

@Cooper, il "DelayedAutostart" sta lavorando per me su una macchina a 64 bit SP2 Server 2008. Non posso commentare il tempo di riavvio però. –

+1

Questa non è una risposta corretta. –

55

Inserire un elemento ServiceConfig all'interno dell'elemento ServiceInstall.

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

wix: ServiceConfig –

+1

L'ho provato. ServiceConfig ha richiesto le proprietà come mostrato di seguito. Senza di loro non verrà compilato.

+0

Sì, ho corretto il frammento di codice poiché l'originale contiene un errore WiX. –