stefankittel
Goto Top

Kann sich ein Dienst selber aktualisieren?

Hallo,

ich plane gerade eine kleine Anwendung (c++ oder c#) die unter Windows als Dienst laufen soll.
Wichtig ist eine Auto-Update-Funktion.

Der Dienst fragt einen Server ob es ein Update gibt, lädt eine setup.exe runter.
Ich kann die Dateien des Dienstes ja nicht überschreiben solange dieser läuft.

Frage
1) Die Dienst startet die setup.exe
2) Die setup.exe beendet den Dienst, kopiert die Dateien und startet den Dienst.
Geht das? Oder wird die setup.exe beendet sobald der Dienst beendet wird? Die setup.exe läuft ja in dessen Sicherheitsbereich.
Weiß das Jemand auswendig?

Alternativ könnte ich zwei Dienste machen (einer für Updates, einer für die Funktion).
Oder so ein Eintrag, dass Windows das Update beim nächsten Neustart ausführt.

Viele Grüße

Stefan

Content-Key: 323872

Url: https://administrator.de/contentid/323872

Printed on: April 25, 2024 at 15:04 o'clock

Member: MrFlow
MrFlow Dec 15, 2016 at 05:45:41 (UTC)
Goto Top
Hallo,

ja ist ohne weiteres Möglich - hab ich erst selbst in C# gemacht.

Grüße
Member: emeriks
emeriks Dec 15, 2016 at 06:40:27 (UTC)
Goto Top
Hi,
ich habe das über eine DB gelöst.
Der betreffende Dienst benötigte eh diese SQL-DB. Also habe ich den Dienst nur als "Startrampe" angelegt. Diese prüft die DB, ob eine Modul vorhanden ist, lädt dieses runter und startet es dann. Wenn es beim nächsten Start oder während der Laufzeit ein aktuelleres Modul in der DB entdeckt, dann lädt es das neue herunter und startet dieses. Da sich dabei der Dienst so gut wie "nie wieder" ändern wird, muss ich auch "nie wieder" wegen dessen am Server oder Client was installieren. Die Module packe ich als ZIP und lade sie in die DB hoch. Kleine GUI dafür geschrieben, fertig.

E.