![]() |
einfacher Installer / Updater - Idee & Meinungen?
Moin !
Ich möchte hier nur mal eine Idee vorstellen und fragen was ihr davon haltet. Aber bitte nicht gleich mit Kommentaren wie "Gibts schon" "Warum neu erfinden" "..." bewerfen :wink: Ok, also wir nutzen seit einige Zeit den AKInstallerMSI. An sich ja auch ne tolle Sache. Aber in Summe ist mir das MSI Konzept etwas starr und unsere eher einfach gestrickte Anwendung könnte man mitunter besser Installieren und mit Updates versorgen. Drum also mal meine Idee die mir so vorschwebt. Ziel soll ein System sein, das einfach zu verwalten ist und wo man einem User schnell Updates zur Verfügung stellen kann. Meine Idee basiert erstmal grundlegend auf der Bildung von MD5 Hashes. Aber dazu im Verlauf der Beschreibung mehr. Paket erstellen: Zunächst mal muss in einem Verzeichnis erstellt werden in dem alle Dateien / Ordner angelegt sind die auf dem Zielsystem erstellt werden sollen. Also alles das was in den Programmordner soll. (Da unsere Software in den Anwendungsdaten des Profils eigenständig benötigte Strukturen anlegt braucht der Installer (in unserem Fall) dies schon mal gar nicht können.) Dazu muss dann noch eine sehr einfache XML Datei welche die möglichen Startmenü Einträge definiert und wo für jede Datei der MD5 Hash eingetragen ist. Das ganze packen wir dann in eine ZIP Datei. Das Verzeichnis wird ebenfalls 1:1 (also nicht als ein ZIP) auf einen Webserver gelegt. Installation Datei Für die Installation brauchts dann noch einen sehr einfach gestrickten Wizzard. Der muss nicht sonderlich viel können: -> Verzeichnis abfragen -> ggf. (Lizenz) Infos anzeigen Der Installer nimmt die ZIP Datei und entpackt sie ins Programmverzeichnis. Danach erstellt er anhand der XML Datei die Menüeinträge. Zudem muss er einen Registryeintrag machen für den Uninstaller. Additiv kann er dann auch die Anwendung starten. Installation Web In diesem Fall kommt der Installer ohne die ZIP Datei daher. Da die Software noch nicht installiert ist, läd er das Verzechnis vom Webserver und erstellt es 1:1 im Programmordner. Über die XML Datei weiss der Installer welche Files geladen werden müssen und in welchem Verzeichnis die liegen. Update Datei Ein Update über eine Datei geht dann wie folgt ... Der User startet den Installer Wizzard. Wenn der eine Installation im Prog Ordner vorfindet, dann nimmt er die XML Datei aus dem Paket. Nun geht der Installer alle Dateien im Prog Ordner durch. Er erstellt für die vorhandenen Dateien den MD5 Hash und wenn der Hash unterschiedlich zu dem aus dem Paket ist, wird die Datei erneuert. Das bedingt natürlich das die Anwendung nicht läuft. Update Web Ähnlich wie bei der Datei ... Der Wizzard läd die XML Datei vom Server. Nun geht er wieder alle Dateien im Prog Ordner durch und vergleicht die MD5 Hash Werte mit denen aus der XML Datei. Bei Unterschieden wird die neue Datei vom Webserver geladen und ersetzt die alte Datei. Updates Backup Eine Überlegung wäre die letzten aktualisierten Dateien in einem Backup Ordner zu sichern. So könnte der User ggf. einen vorherigen Stand wieder herstellen. USB Stick Da unsere Anwendung auch die Möglichkeit bietet direkt vom Stick zu laufen, wäre es so auch möglich das der Wizzard gleich eine Stick Version erstellt - entweder über die Paket Datei oder eben übers Web. Uninstaller Natürlich brauch das ganze auch einen Uninstaller. Der liegt im Prog Verzeichnis und wird auch als Unistaller in Windows registriert. Der löscht letztlich nur den Prog Ordner und fragt ggf. ob die Userverzeichnisse auch bereinigt werden sollen. Ich denke das man so ein recht schlankes Installer / Update System hinbekommt. Ich bin mir im Moment nicht sicher ob MD5 ausreicht. Was meint ihr zu der Idee? |
Re: einfacher Installer / Updater - Idee & Meinungen?
Also ich finde die Idee ganz gut.
Noch eine kleine Anregung: Nach dem Download der Dateien kann mit dem aus der XML Datei bekannten HASH die Datei überprüft werden ob sie richtig heruntergeladen wurde. Zu MD5: MD5 gilt schon als gehackt. Das bedeutet man kann damit nicht mehr sicher Passwörter "verschlüsseln". Was in deinem Fall aber ziemlich egal ist. Deswegen würde ich diesen verwenden da dieser schon länger existiert und eine gute Performance aufweißt. |
Re: einfacher Installer / Updater - Idee & Meinungen?
Hallo Dominik,
schaue Dir doch mal die ![]() ![]() |
Re: einfacher Installer / Updater - Idee & Meinungen?
@Rolf:
Die kenne ich. Habe ich mir damals schon mal angesehen. Aber ich würde gerne eine Kompo haben die genau auf uns zugeschnitten ist. Insofern werde ich mich eher an einem eigenen Installer versuchen. Aber danke für den Tip. |
Re: einfacher Installer / Updater - Idee & Meinungen?
Für einen "einfachen" Installer / Uninstaller würde ich Dir hier zu Inno Setup oder
![]() Viele Grüße |
Re: einfacher Installer / Updater - Idee & Meinungen?
Moin !
Zitat:
Aber wie schon zu Beginn geschrieben. Mich würde hier eher interessieren was ihr generell von dem Konzept haltet und wo es evtl. Probleme geben könnte. |
Re: einfacher Installer / Updater - Idee & Meinungen?
Hallo,
Probleme gibt es ab XP/Vista, weil nicht ins Programme-Verzeichnis geschrieben werden darf. Bei MSI gibt es Patch-Dateien, da klappt das. Noch zu MSI: Was ist denn da so starr ? Heiko |
Re: einfacher Installer / Updater - Idee & Meinungen?
Moin,
Also das ganze ist natürlich Zielgruppenabhängig. Wenn Du z.B. ein Shareware oder Freeware Programm hast, das über das Internet angeboten wird, würde ich dir vorschlagen, die Komplexität des Ganzen zu reduzieren. Sprich Du hast einen normalen Installer (+ Uninstaller), der immer das ganze Paket mit dabei hat (also kein seperater Web-Installer). Programm-Updates über das Internet, wie du es bisher hast, finde ich gut (habe ich schließlich auch so ;) ), wobei Du hierbei einiges beachten solltest:
Viele Grüße |
Re: einfacher Installer / Updater - Idee & Meinungen?
Zitat:
|
Re: einfacher Installer / Updater - Idee & Meinungen?
Zitat:
Da will man ein winziges Programm installieren, was letztenendes nur aus 5-6 Dateien besteht, aber der Installier konfiguriert erstmal ne halbe Minute undefinierterweise herum und kopiert dann irgendwann mal was. Uninstall genauso. Wohingegen ein kleines Setup ala InnoSetup innert 5 Sek startet und installiert hat (abgesehen von Benutzerinteraktionen). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz