Überschreiben einer ausführbaren Dienstdatei, während der Dienst ausgeführt wird

450
Giulio

Ich war überzeugt, dass ein Dienst, der wie jeder andere Prozess ausgeführt wird, seine ausführbare Datei (wie in Verwendung) sperrt.

In der Tat muss ich den Dienst beenden, wenn ich in Visual Studio eine neue Version davon baue, und dann erneut starten.

Ich verstehe nicht, wie sie die ausführbare Datei aktualisiert haben, ohne den Dienst zu stoppen (während einer Bereitstellung). Anschließend haben sie den Dienst neu gestartet, damit die Änderungen wirksam werden.

Hat jemand eine Erklärung dafür?

0
Verwenden Sie den SC-Befehl. Beenden Sie den Dienst: "sc stop service_name" und ändern Sie die ausführbare Datei: "sc create service_name" binPath = abc.exe ". Starten Sie dann den Dienst" sc start service_name " Biswapriyo vor 6 Jahren 0

1 Antwort auf die Frage

1
Giulio

Tatsächlich kann die Datei nicht gelöscht werden (oder Sie können dieselbe Datei nicht überschreiben ), sondern kann umbenannt oder verschoben werden.

Auf diese Weise kann es ersetzt werden.

Ähnliche Frage hier (zeigt tatsächlich eine Überraschung für dieses Verhalten).