Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Strategie für einen Online-Update-Mechanismus? (https://www.delphipraxis.net/70956-strategie-fuer-einen-online-update-mechanismus.html)

Ralf Kaiser 7. Jun 2006 10:30


Strategie für einen Online-Update-Mechanismus?
 
Halli Hallo,

wenn man sein Programm auf dem neusten Stand halten will ist ein Online-Update ja praktisch (und neuerdings ja richtig "modern").

Im Netz gibt es ja eine Menge an Bibliotheken oder Komponenten mit denen man dies realisieren kann (auch selbst "stricken" ist nicht sooo kompliziert)

Mir stellt sich allerdings die Frage, wie man verschiedene "Update-Levels" am günstigsten verwaltet, vor allem wenn man es mit einem komplexeren System aus EXE-Dateien, DLLs, Plugins und daten zu tun hat die versionsmässig immer zueinander passen müssen.

Beispiel:

Es wird ein Programm-System als Download vertrieben das aus ein paar Programmen, verschiedenen COM-Servern, anderen DLLs und ein paar Plugins besteht.

Mehrere User laden sich das Programm herunter und installieren es.

Jetzt kommen nacheinander ein paar Updates heraus die jeweils unterschiedlichen Inhalt haben (mal sind es die DLLs, mal ein paar erweiterte Plugins usw.)

Einige Benutzer laden sich die Updates jeweils aktuell herunter, manche tun dies nicht da sie das Programm lange Zeit nicht starten.

Jetzt müsste der Update-Server doch eigentlich die gesamte Historie speichern, damit jeder Benutzer sich nacheinander alle nötigen Updates laden kann um die aktuelle Gesamtversion zu erhalten. Als Alternative dazu könnte jedes Update als Komplettsetup heruntergeladen werden, das dann die aktuelle Installation komplett überschreibt. Dies kann aber dann zu ziemlich grossen Downloads führen wenn das Gesamtsystem entsprechend umfangreich ist.

Wie haltet Ihr das im allgemeinen mit Onlineupdates? Erstellt Ihr Patches die nur die Unterscheide enthalten? Legt Ihr die gesamte "Update-Historie" auf einen Server? Gibt es bessere Möglichkeiten?

Ciao,
Ralf

sh17 7. Jun 2006 10:47

Re: Strategie für einen Online-Update-Mechanismus?
 
Wir machen das so:

Alle Module und andere Dateien unserer Anwendung werden in sog. Pakete verpackt. Die verfügen über eine Versionsnummer und liegen auf dem Updateserver bereit. Nur wenn sich die Versionsnummer von der des Benutzers unterscheidet, wird das Paket heruntergeladen.

Weitere Eigenschaften dieser Pakete sind z.B. ob es "ausgeführt werden muss" (DB-Anpassungen) oder ob es heruntergeladen werden MUSS (neue Basis-DLL).

Auf diese Art ist es egal, welchen Stand der Benutzer hat, er bekommt immer den aktuellsten und die Anpassungspakete bauen die Datenbanken auf den aktuellen Stand.

shmia 7. Jun 2006 10:58

Re: Strategie für einen Online-Update-Mechanismus?
 
Auf dem Server liegt eine Datei, die sämtliche Dateien inklusive Prüfsummen (z.B. MD4) auflistet.
(eine INI-Datei eignet sich dafür recht gut)
Diese Datei wird immer heruntergeladen und der Updateclient vergleicht die Prüfsummen.
Unterscheidet sich die Prüfsumme, wird die Datei heruntergeladen.


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