Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi eigene programme patchen? (https://www.delphipraxis.net/84158-eigene-programme-patchen.html)

Marco Steinebach 12. Jan 2007 11:57


eigene programme patchen?
 
Hallo Listers,
ich hab ein programm daß beim start nachschauen soll, ob in einem bestimmten verzeichnis eine neuere Version von sich selber vorliegt.
Soweit, so klar. aber:
Wenn es eine neuer Programmversion gibt, sollte das programm sich beenden, die neuere Version irgendwie kopiert werden, und dann ein programmneustart erfolgen.
Klar kann ich ein zweites programm schreiben das vor dem start des hauptprogramms läuft. Aber kann daß ein Prog aus sich selbst heraus?

Viele herzliche Grüße
Marco

SubData 12. Jan 2007 11:59

Re: eigene programme patchen?
 
Schreibe ein zweites Programm, was aus dem Hauptprogramm gestartet wird.
das zweite Programm prüft alle paar MS, ob das Hauptprogramm "frei" ist.
Also die Exe zum Schreiben geöffnet werden kann.
Wenn dies der Fall ist wird die Exe gepatcht und danach wieder gestartet...

Zwixx 12. Jan 2007 12:23

Re: eigene programme patchen?
 
Eine andere, aber recht gefährliche Lösung ist es, die eigene Programmdatei umzubenennen, das neue Programm hinzukopieren, es neu zu starten und das neue Programm räumt das alte dann weg. Problem bei der Sache ist, das dies manchmal nicht korrekt funktioniert durch Windowsinterne sachen, die ich bisher nicht nachvollziehen konnte...

Beispiel:

Anwendung.exe sucht nach einem Update
findet eines
Anwendung.exe kopiert AnwendungNeu.exe in sein Verzeichnis
Anwendung.exe benennt sich Selbst in AnwendungAlt.exe um
AnwendungAlt.exe benennent AnwendungNeu.exe in Anwendung.exe um
AnwendungAlt.exe startet Anwendung.exe
Anwendung.exe löscht AnwendungAlt.exe

Dies sollte wirklich nur dann gemacht werden wenn es keine andere Möglichkeit gibt und umbedingt nur eine exe sein darf, grundsätzlich ist aber eigentlich davon abzuraten da es sehr fehlerträchtig ist.

Marco Steinebach 12. Jan 2007 14:17

Re: eigene programme patchen?
 
Zitat:

Zitat von Zwixx
Eine andere, aber recht gefährliche Lösung ist es, die eigene Programmdatei umzubenennen, das neue Programm hinzukopieren, es neu zu starten und das neue Programm räumt das alte dann weg. Problem bei der Sache ist, das dies manchmal nicht korrekt funktioniert durch Windowsinterne sachen, die ich bisher nicht nachvollziehen konnte...

uuuaaah, hat ja was! Die Idee finde ich gar nicht schlecht, aber ich denke das gleiche wie du, wegen der Fehler.

Grüße
Marco

Marco Steinebach 12. Jan 2007 14:19

Re: eigene programme patchen?
 
Zitat:

Zitat von SubData
Schreibe ein zweites Programm, was aus dem Hauptprogramm gestartet wird.
das zweite Programm prüft alle paar MS, ob das Hauptprogramm "frei" ist.
Also die Exe zum Schreiben geöffnet werden kann.
Wenn dies der Fall ist wird die Exe gepatcht und danach wieder gestartet...

Jep! Vielen herzlichen Dank! Manchmal sieht man den Wald vor lauter Bäumen nicht! ;-)

Viele Grüße
Marco

Reinhard Kern 12. Jan 2007 15:07

Re: eigene programme patchen?
 
Zitat:

Zitat von Marco Steinebach
Zitat:

Zitat von SubData
Schreibe ein zweites Programm, was aus dem Hauptprogramm gestartet wird.
das zweite Programm prüft alle paar MS, ob das Hauptprogramm "frei" ist.
Also die Exe zum Schreiben geöffnet werden kann.
Wenn dies der Fall ist wird die Exe gepatcht und danach wieder gestartet...

Jep! Vielen herzlichen Dank! Manchmal sieht man den Wald vor lauter Bäumen nicht! ;-)

Viele Grüße
Marco

Hallo,

egal was du vorsiehst, es kann dir passieren, dass für die Installation von Software Admin-Rechte notwendig sind - besonders in einem sorgfältig verwalteten Firmen-Netzwerk. Man kann z.B. vorsehen, dass normale User unter "Progamme" keine Schreibrechte an einer EXE haben.

Gruss Reinhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 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