Für .NET veröffentlichte Microsoft Patterns + Practices vor einiger Zeit die Anwendungs-Updater-Block . Das war (meiner Meinung nach) ziemlich aufgeblasen und übertechnisiert, aber es hat seine Aufgabe ganz gut erfüllt.
Im Wesentlichen wurde ein "Stub Loader" verwendet, um ein Manifest und einen Webdienst zu überprüfen, um festzustellen, ob eine neuere Version des Programms als die installierte verfügbar war, und dann die BITS-Hintergrund-Downloader-Technologie verwendet, um eine neue Version herunterzuladen, wenn eine auf dem Server verfügbar war.
Sobald die neue Version heruntergeladen und installiert wurde (mit .NET ist dies so einfach wie ein xcopy in den entsprechenden Ordner), würde die Anwendung das Manifest aktualisieren. Wenn das Programm das nächste Mal geladen wird, wird die neue Version gestartet.
Der Code von Patterns + Practices ist zwar .NET-spezifisch, aber es gibt nichts, was nicht auch für eine Nicht-.NET-Anwendung kopiert werden könnte, insbesondere wenn Sie die Möglichkeit haben, den Installationsprozess im Hintergrund auszuführen.