Zitat von
Thomas83:
Dienst schaut alle x sekunden nach ob es ein update gibt (z.B. webseite, netzwerk etc.)
wenn es eine neue version gibt. Updater starten
updater beendet dienst
kopiert neue datei
startet den dienst
das müste eigentlich eine sinvolle Lösung sein, oder?
Kann es sein das du den Thread hier nicht vollständig gelesen hast?
Wenn der Dienst unter dem Konto Netzwerkdienst läuft kann er zwar das neue Update vom Netzwerk lesen aber das Konto Netzwerkdienst hat standardmäßig eben keine Rechte um im Windowsverzeichnis das update zu plazieren.
Meiner Meinung nach gibt es keine Möglichkeit unter Verwendung eines Kontos was entweder nur Rechte für das eine oder nur Rechte für das andere hat. Du braucht entweder ein Konto was für beides die Rechte hat oder du musst eben die Berechtigungen anpassen.
Ich weiß nicht um was für einen Dienst es sich genau handelt und ob es erlaubt ist das dieser nicht läuft wenn das Netzwerk nicht erreichbar ist. Ich würde (wenn der Dienst nicht zwangsläufig immer laufen muss sondern nur wenn Netzwerk vorhanden ist) die gesamte Logic des Dienstes in eine
DLL auslagern und diese vom Dienst laden lassen. Dadurch kann der Dienst die Logic aktuallisieren ohne sich selbst beenden zu müssen und es bleibt die Möglichkeit das die Logic auf dem Letzlaufwerk liegen bleiben kann. Sozusagen kann der Dienst dann schauen welches die aktuellste
DLL im Netzwerkpfad ist und diese Laden. Kommt eine aktuellere hinzu lädt er diese.