Live-Update für eine Windows-Desktop-Anwendung programmieren
Programm und Daten auf entfernten Kunden-PCs aktualisieren.
Einer der großen Vorteile einer Webanwendung besteht darin, dass Updates nur auf dem zentral verwendeten Server durchzuführen sind. Dabei kann es sich um neue Programmversionen, eine Fehlerbehebung oder auch neue Daten handeln. Über diesen Luxus verfügt der Programmierer einer Desktop-Anwendung leider nicht. Er muss schon bei der ersten Veröffentlichung des Programms einen Mechanismus zur Aktualisierung ausliefern.
Live-Update für individuell programmierte Software
Live Update programmieren: Der Lebenszyklus einer Desktop-Anwendung beginnt mit der Verteilung des Installationsprogramms (auch Setup genannt). Der Empfänger des Programms führt das Installationsprogramm aus und fortan befindet sich das Programm auf seinem PC. Dies kann um die Ecke in Oberbierenbach oder auch in China oder den USA sein. Da man dort nicht mal eben zur Fehleranalyse hinfahren kann und bei vielen Kunden aus Gründen der Vertraulichkeit auch keine Fernwartung möglich ist, benötigt das Programm einen möglichst stabilen Update-Mechanismus. Da dieser mit dem bereits installierten Programm, also sozusagen in Echtzeit, ausgeführt werden muss, spricht man von einem Live Update.
Es empfiehlt sich, ein solches Live Update von einem sogenannten Loader durchführen zu lassen. Dabei handelt sich um ein kleines Programm, das folgende Aufgaben durchführt:
Wie kommt das Update zum Loader?
Das Herunterladen von Programm- und Datenupdates ist die Aufgabe der eigentlichen Anwendung (App.exe). Beim Programmstart wird ein Thread mit niedriger Priorität gestartet. Dieser lädt verfügbare Updates herunter, kümmert sich um die Fehlerbehandlung und die Handhabung von Programmversionen. Damit kann das zeitaufwändige Herunterladen im Hintergrund erfolgen, während der Nutzer mit dem Programm arbeitet. Als Ergebnis des Herunterladens entsteht die ausführbare Programmdatei (im Beispiel Update.exe genannt) und diese kann beim nächsten Start des Loaders verarbeitet werden. Dieses Verfahren hat noch einen weiteren Vorteil: Falls das Herunterladen einmal nicht funktionieren sollte, kann die Update-Datei per Mail oder auf anderem Wege versendet werden. Der Empfänger muss diese nur in den für den Update-Mechanismus vorgesehen Ordner kopieren und schon kann das Update wie gewohnt durchgeführt werden.
Tipp: Bei Bedarf kann die eigentliche Anwendung (App.exe) so erweitert werden, dass sie gesonderte Updatedateien für die Datenbank und für den Loader herunterlädt. Wenn die App die ausführbaren Dateien des Loaders aktualisiert, kann auch dieser durch Updates aktuell gehalten werden.