Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Update-Funktion für Stand-alone-Programm (https://www.delphipraxis.net/115080-update-funktion-fuer-stand-alone-programm.html)

Reinhardtinho 5. Jun 2008 13:47


Update-Funktion für Stand-alone-Programm
 
Hi,

ich habe ein Programm erstellt, das nur aus einer einzelnen ausführbaren Datei (.exe) besteht. Es existieren also keine weiteren DLLs und auch kein Setup.

Das Programm ist für den innerbetrieblichen Einsatz gedacht und wird auf einem Netzlaufwerk gespeichert und dort regelmäßig von mir neu abgelegt (gleicher Pfad).

Gibt es eine Möglichkeit, dass ich von diesem Programm aus die Exe von dem Netzlaufwerk kopiere und das laufende Programm überschreibe. Vielleicht gibt es ja die Möglichkeit eine Batch-Datei zu erzeugen, die ausgeführt wird, nachdem das laufende Program geschlossen wird?


Vielen Dank und MFG
Lorenz

mkinzler 5. Jun 2008 13:49

Re: Update-Funktion für Stand-alone-Programm
 
Per Batch ja.

Reinhardtinho 5. Jun 2008 14:13

Re: Update-Funktion für Stand-alone-Programm
 
Das Problem ist, das der Batch ja erst gestartet werden kann, wenn das Programm beendet wurde. Das kann allerdings auch schon mal bis zu 3-4 Sekunden dauern, die Zeit ist also variabel.

mkinzler 5. Jun 2008 14:19

Re: Update-Funktion für Stand-alone-Programm
 
Dann musst du das halt in der Batch überprüfen

OldGrumpy 6. Jun 2008 10:45

Re: Update-Funktion für Stand-alone-Programm
 
Das ist recht simpel, Du kannst zwar die Datei nicht direkt überschreiben, aber umbenennen und eine neue Datei kopieren :)

Also:

- Prüfen ob Programm.exe.bak (oder was auch immer) existiert, falls ja: löschen (sonst gibts nen Problem beim Umbenennen)
- Programm.exe in Programm.exe.bak umbenennen
- Programm.exe (neue Version) vom Netzlaufwerk in den lokalen Pfad kopieren
- Fertig

Das geht so direkt aus dem Programm heraus. Fehlt nur noch ein Hinweis an den User, dass er das Programm bitte beenden und neu starten möchte :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz