Bei der Installation von Windows-Diensten gibt es zwei Möglichkeiten, einen Windows-Dienst beim Windows-Start automatisch zu starten. Einer ist automatisch und der andere ist automatisch (verzögerter Start) . Was ist der Unterschied zwischen diesen beiden im Detail?
Wenn Sie beispielsweise das Installationsprogramm mit wixtoolset erstellen, hat das ServiceConfig
Element das DelayedAutoStart
Attribut. Wie wirkt sich das aus, was passiert, wenn Dienste beim Booten gestartet werden?
WiX-Dokumentation: ServiceConfig-Element
windows-services
wix
Sachin Kainth
quelle
quelle
Antworten:
Kurz gesagt, Dienste, die auf Automatisch eingestellt sind, werden während des Startvorgangs gestartet, während Dienste, die als verzögert gestartet werden, kurz nach dem Start gestartet werden.
Starten Ihres Dienstes Verzögert verbessert die Startleistung Ihres Servers und bietet Sicherheitsvorteile, die in dem Artikel beschrieben sind, auf den Adriano in den Kommentaren verweist.
Update: "Kurz nach dem Start" ist standardmäßig 2 Minuten nach dem Start des letzten "automatischen" Dienstes. Dies kann gemäß Windows Internals und anderen Quellen ( 3 , 4 ) über einen Registrierungsschlüssel konfiguriert werden .
Die Registrierungsschlüssel von Interesse (zumindest in einigen Windows-Versionen) sind:
HKLM\SYSTEM\CurrentControlSet\services\<service name>\DelayedAutostart
wird den Wert haben,1
wenn verzögert,0
wenn nicht.HKLM\SYSTEM\CurrentControlSet\services\AutoStartDelay
oderHKLM\SYSTEM\CurrentControlSet\Control\AutoStartDelay
(unter Windows 10): Dezimalzahl der zu wartenden Sekunden, möglicherweise muss diese erstellt werden. Gilt global für alle Verzögerten Dienste.quelle