2014-03-04 11 views
14

Ich habe einen Windows-Dienst in C# geschrieben.Wie wird ein installierter Windows-Dienst aktualisiert?

Ich habe seit es auf meinem Rechner installiert, und es läuft gut.

Wenn Sie einen Dienst installieren, wird der exe irgendwo kopiert? Oder zeigt es auf meinen Ordner bin?

Dies ist für mich zu wissen, dass, wenn ich meinen Code von Zeit zu Zeit aktualisieren, muss ich meinen Dienst deinstallieren und neu installieren, um es zu aktualisieren?

+0

Ich würde Setup-Projekt erstellen, um den Windows-Dienst zu installieren. – Damith

Antwort

18

Wenn der Standort des Windows-Dienst hat sich nicht geändert und der Name seiner ausführbaren hat sich nicht verändert, sollten Sie es nicht deinstallieren und neu installieren.

Sie können den Dienst einfach anhalten, seine ausführbare Datei mit einer neuen Version aktualisieren und erneut starten.

Dieser Ansatz arbeitete zuverlässig für mich für viele Monate der Windows-Dienste-Entwicklung, während der ich einfach aktualisiert ServiceBase Implementierungen, private Methoden und so weiter; und macht es für ziemlich schnell iterative Entwicklung, wenn Sie net stop und net start Befehle für Ihren Service (s) in dem Geschichte eines Befehlsfensters nur Alt + Tab über Rückzieher durch die Geschichte und Hit Geben Sie, wenn Sie das finden Befehl, den Sie brauchen.

3

Sie können den Pfad des installierten Diensts überprüfen, indem Sie services.msc in Run öffnen. Klicken Sie dann mit der rechten Maustaste auf Ihren Dienst und sehen Sie den Pfad zur ausführbaren Datei.

Wenn dies auf Ihr bin-Verzeichnis zeigt, wird es bei jeder erfolgreichen Kompilierung aktualisiert.

enter image description here

0

Sie sollen den alten Windows-Dienst deinstallieren und eine neue Version von Windows-Dienst installieren.

Deinstallation:

installutil /u yourproject.exe 

installieren:

installutil yourproject.exe 
Verwandte Themen