Persönlich erstelle ich meinen eigenen Mechanismus, um den Selbstaktualisierungsprozess zu starten, wenn der Zeitstempel meiner Anwendung nicht mit dem Server synchronisiert ist. Nicht zu schwierig, aber es ist keine einfache Aufgabe.
By the way, für Delphi Sie einige Dritte Hilfe verwenden können:
http://www.tmssoftware.com/site/wupdate.asp
AKTUALISIERT:
Für meine Implementierung:
MyApp.exe in 3 verschiedenen Modi betrieben wird
MyApp.EXE ohne irgendein Argument. Dies startet die Anwendung in der Regel.
1.1 Die allererste Sache ist es, seine eigene Datei-Zeit mit dem Server zu validieren.
1.2 Wenn Update erforderlich ist, dann wird es die aktualisierte Datei auf die "MyApp-YYYY-MM-DD-HH-MM-SS.exe"
1.3 Dann rufen Sie es „MyApp-YYYY- benannte Datei herunterladen MM-DD-HH-MM-SS.exe "mit Befehlsargument
MyApp-YYYY-MM-DD-HH-MM-SS.exe --update MyApp.EXE
1.4 Beenden Sie diese Anwendung.
1.5 Wenn kein Update erforderlich, dann wird die Anwendung starten normalerweise von 1,1
MyApp.exe --update „Dateiname“.
2.1 Versuchen Sie, sich alle 100ms auf "FILENAME" zu kopieren, bis Sie erfolgreich sind.
2.2 Rufen Sie "FILENAME" bei Erfolg auf
2.3 Rufen Sie "FILNAME - MyApp-YYYY-MM-DD-HH-MM-SS.exe löschen" auf, um sich selbst zu löschen.
2.4 Terminate
MyApp.exe --delete "Dateiname"
3.1 Versuchen Sie die Datei "Dateiname" alle 500ms bis Erfolg zu löschen. Terminate
3,2
Ich habe schon seit 7 Jahren dieses Schema für meine Anwendung benutzen und es funktioniert gut. Es kann ziemlich schmerzhaft sein, zu debuggen, wenn etwas schief geht, da die Schritte viele Prozesse beinhalten. Ich schlage vor, dass Sie eine Menge Protokollierung durchführen, um einfachere Fehlersuche zu ermöglichen.
Viel Glück
Genau das habe ich getan. – Branko
Ich habe nichts dagegen, upvote dann;) – Sake