Exe Datei soll sich selbst aktualisieren
-
Ich arbeite momentan an einem Update tool das sich aus dem Internet nach wunsch des Benutzers selbst aktualisieren soll. das herunterladen der updates von einem updateserver klappt auch schon wunderbar, anschließend wird die datei temporär gespeichert. nur leider steh ich nun vor dem problem, das sich die eigene exe nunja nicht löschen kann während sie noch ausgeführt wird. (FAQ artikel zur self-destroy exe habe ich bereits gelesen)
nun bin ich auf der suche nach möglichkeiten ohne die bereits vorhandenen self-destroy codes einen updater zu schreiben. antivirenprogramme schaffen das doch auch immer
wäre für einige ideen dankbardie möglichkeit über batches und neustarten des pc's soll nicht mit einbezogen werden, das tool soll später als dienst und ohne neustart des rechners laufen können.
MfG
RadiatioN
-
Versuch es doch mal so: Du kannst mit der Exe einen Updater starten, der den Download vornimmt. Danach beendet sich die Exe selbst und übergibt die Kontrolle an den Downloader. Der ersetzt dann die Exe datei- die ist ja nun geschlossen.
-
Eine Möglichkeit wäre:
1. EXE-Datei umbenenne (ja, das geht auch, wenn die EXE läuft)
2. Neue EXE-Datei mit korrekten Namen speichern
3. Neue EXE-Datei starten und sich selber beenden
4. Die neue EXE löscht eine möglicherweise vorhandene (alte) umbenannte EXE
-
Jochen Kalmbach schrieb:
1. EXE-Datei umbenenne (ja, das geht auch, wenn die EXE läuft)
benötigt man hierzu spezielle tricks oder geht das auch schon über rename() aus der C++ standard lib?
falls es was spezielles sein sollte und schonmal wo implementiert wurde und du noch den link haben solltest, schick doch bitte au gleich mit
danke!
MfG RadiatioN
-
Du kannst "rename" oder MoveFile nehmen.