Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#11

AW: Wie Remote Update eine Windows-Service?

  Alt 8. Mär 2016, 10:40
Warum den Admin nehmen?

Ich würd' auf dem Server einen Benutzer anlegen (lassen), der genau die Aufgabe hat, den Dienst zu starten und zu stoppen und Lese- und Schreibrechte im Verzeichnis der Service.exe hat.

Mit diesem User wird dann der Austausch des Services vorgenommen. Dafür braucht man nicht den Admin zu bemühen.

Alternative:

Wenn im Service die Version seiner selbst bekannt ist, so könnte der Service doch zu einem definierten Zeitpunkt (täglich 3:00 Uhr oder sowas) an einer definierten Stelle nachschauen, ob es eine neue Version seiner Selbst gibt ('ne Textdatei oder sowas).

Steht dort, dass es eine neue Version gibt, so startet er selbst per ShellExecute die oben vorgeschlagene Batchdatei.

Die beendet ihn dann, kopiert die neue Service.exe und starte den Dienst dann.

andere Alternative:

Der Service prüft, ob an einer bestimmten Stelle eine Datei liegt, die den gleichen Dateinamen hat, wie erst selbst, dann wird die Batchdatei gestartet, zusätzlich löscht die Batchdatei nach dem Kopieren noch die "Quelldatei".

Das könnte dann etwa so aussehen:
Code:
sc stop "service name"
copy \\Quellrechner\Pfad\Service.exe Service.exe
del \\Quellrechner\Pfad\Service.exe
sc start "service name"
\\Quellrechner\Pfad\Service.exe könnte natürlich auch 'ne für den Service verfügbare Freigabe sein.

Oder wenn es auf dem Server schon 'ne Freigabe gibt, dann wird die neue Service.exe dort abgelegt.
  Mit Zitat antworten Zitat