Update-Funktion einer .exe: Ohne helper auskommen?
-
geht das nicht auch mit ner helper batch
-
Man, das ist ja selten dämlich.
@b*tch: Denk schon, aber is egal, werde trotzdem ein Programm schreiben.
-
Ich habe es bei meiner Updatefunction so gemacht.
Laufende exe hat sich selbst umbenannt, neue runterladen und starten lassen, alte exe hat sich dann selbst beendet.
Beim starten der neuen exe löscht diese die alte.
-
Sillo schrieb:
Laufende exe hat sich selbst umbenannt
Wie denn das?
-
Eine EXE kannst Du i.d.R. immer umbenennen... nur eben nicht löschen...
-
YAY!
Dann ist das ja die Lösung!
THX!
-
Musst nur aufpassen, dass du bei Vista nicht in den virtual Store reinläufst und deine runtegeladene .exe irgenwo in "C:\Users\**\AppData\Local\VirtualStore\Program Files\blablabla\." landet anstelle in "C:\Programme\blablabla\.*".
-
Jochen Kalmbach schrieb:
Eine EXE kannst Du i.d.R. immer umbenennen... nur eben nicht löschen...
Genau.
Weisst du zufällich auch, ob man eine Datei mit CreateFile irgendwie so aufmachen kann, dass man die dann auch noch umbenennen kann? Das hab ich nämlich bisher nicht hinbekommen...
-
geht nich
-
FILE_SHARE_DELETE
http://msdn.microsoft.com/en-us/library/aa363858.aspxNote: Delete access allows both delete and rename operations.
-
Meine Lösung, die ich mal mit AHK realisiert habe:
Ich habe eine *.ini auf einem Server gehabt..Inhalt:
NewVersion='Hier stand die Neue Versions-Nr' NewFileName='Hier stand der neue Dateiname..eifnach der alte, mit der neuen Versions-Nr dran' NewFileDir='Hier stand der Pfad drin, in den die neue Datei reinkam'Zum Programm: Jede 30 Sekunden wurde die .ini runtergeladen, und die darin stehende NewVersion mit der im Programm stehenden Variable Version auf ungleichheit überprüft...Wenn sie ungleich war, wurde ein Label geupdatet: "Neue Version verfügbar!"...Beim Klick auf den UpdateButton wurde der Rest aus der .ini gelesen, die neue Datei (.exe) wurde heruntergeladen, natürlich in das in der .ini stehende Verzeichnis, dann wurde die neue Datei gestartet. Die alte Instance der exe wurde von sich selbst beendet, und die neue Datei hat dann die alte gelöscht, sofern deren Dateiname nicht verändert wurde.
Hoffe es hilft

DaMapfi
-
Jo danke, so wollte ich es eh machen. Außer, dass sich die laufende .exe vor dem Update, wenn denn eins verfügbar ist, umbenennt (mit nem _ hinten dran zB.), damit die neue .exe ins gleiche Verzeichnis kann. Dasselbe auch für andere Dateien.
-
Jochen Kalmbach schrieb:
FILE_SHARE_DELETE
http://msdn.microsoft.com/en-us/library/aa363858.aspxNote: Delete access allows both delete and rename operations.
Cool, danke!
Kann man dann noch zusätzlich verhindern dass die Datei gelöscht werden darf?