Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#18

AW: Programmupdate bei geöffneter EXE

  Alt 12. Aug 2020, 13:53
Ich habe mir sagen lassen, daß die EXE umbenannt werden kann und die neue EXE in den Ordner kopiert werden kann.
Das kommt drauf an, wie/wo die Datei geöffnet ist.

Eine EXE wird als MMF in den Speicher geladen und das File-Handle geschlossen.
Wenn die Datei dann z.B. auf einem lokalen Laufwerk liegt, dann lässt es sich umbenennen.

Ist dazwischen aber z.B. ein umgeleitetes Verzeichnis (andere Festplatte) oder gar ein Netzlaufwerk dazwischen, dann kommt es dran an, wie dort die Dateien weitergereicht werden.


Also ja, es geht, aber nicht immer.
Schon garnicht geht es, wenn ein DateiHandle (CreateFile, TFileStream, ...) existiert, z.B. um gewisse "Ressourcen" aus der Datei zu holen,
oder der nette Vierenscanner guckt grade rein, usw.

Am Einfachstes/minimalistischsten ist wohl die Batch im Temp-Verzeichnis.
Die Batch kann ich am Ende auch selbst löschen. (wobei es im Temp-Verzeichnis auch so irgendwann bestimmt gelöscht wird)


Zitat:
wenn einer die Umbenannte exe als Instanz hat kann man sie nicht nochmal umbenennen
Lange nicht mehr probiert (zuletzt im Win7)
Aber es ist schon möglich mehrmals umzubenennen und den Platz mit neuen Dateien zu belegen und zwischendrin auch mehrmals den selben Namen wiederverwenden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Aug 2020 um 13:56 Uhr)
  Mit Zitat antworten Zitat