Ich installiere einen Windows-Dienst mit den Klassen ServiceProcessInstaller
und ServiceInstaller
.
Ich habe den verwendet ServiceProcessInstaller
, um den Starttyp, den Namen usw. festzulegen. Aber wie setze ich die Wiederherstellungsaktion auf Neustart?
Ich weiß, dass ich dies nach der Installation des Dienstes manuell tun kann, indem ich zur Dienstverwaltungskonsole gehe und die Einstellungen auf der Registerkarte "Wiederherstellung" der Eigenschaften des Dienstes ändere. Gibt es jedoch eine Möglichkeit, dies während der Installation zu tun?
.net
windows-services
service
Strahl
quelle
quelle
process.Close()
Zeile ist nutzlos.reset= 0
korrekt undreset=0
falsch ist. Die richtige Verwendung von Leerzeichen ist entscheidend,reset=
ist ein Argument, gefolgt von einem Leerzeichen0
.Nach vielen Versuchen habe ich es mit der sc Kommandozeilen-App gelöst .
Ich habe Batch-Datei mit installutil und sc. Meine Batch-Datei ähnelt:
Wenn Sie die vollständige Dokumentation des Befehls sc wünschen, folgen Sie diesem Link: SC.exe: Kommuniziert mit dem Service Controller und den installierten Diensten
Hinweis: Sie müssen nach jedem Gleichheitszeichen (=) ein Leerzeichen einfügen. Beispiel: reset = 300
quelle
Ich glaube nicht, dass es Teil der .NET-API ist, aber dies könnte helfen:
Eine ServiceInstaller-Erweiterung, die die Wiederherstellung und Autostart-Konfiguration ermöglicht
Installieren Sie einen Windows-Dienst so, wie Sie es möchten! (C # -Version)
quelle
Ich habe das folgende Projekt gefunden, das sich um diese Einstellungen kümmert und nur Code- und Win-API-Aufrufe verwendet:
http://code.msdn.microsoft.com/windowsdesktop/CSWindowsServiceRecoveryPro-2147e7ac
quelle