AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi einfacher Installer / Updater - Idee & Meinungen?
Thema durchsuchen
Ansicht
Themen-Optionen

einfacher Installer / Updater - Idee & Meinungen?

Ein Thema von moelski · begonnen am 21. Apr 2009 · letzter Beitrag vom 22. Apr 2009
Antwort Antwort
Seite 1 von 2  1 2      
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 13:18
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

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?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#2

Re: einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 15:07
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.
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 15:16
Hallo Dominik,

schaue Dir doch mal die TMS WebUpdate Komponente an. Die verwirklicht im größten Teil schon das was du machen möchtest. Ich selber nutze diese als Update Variante für mein Programm Code-Orakel.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#4

Re: einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 15:26
@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.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

Re: einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 17:20
Für einen "einfachen" Installer / Uninstaller würde ich Dir hier zu Inno Setup oder Bei Google suchenNSIS raten. Damit kannst Du recht kompakte Setups erstellen, die genau Deinen Anforderungen hier gerecht werden. Die Updates könntest Du ja dann weiterhin mit einem eigenen Programm machen. (Habe ich auf diese Weise in einem meiner Projekte - AlphaCode Studio - gelöst).

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#6

Re: einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 17:30
Moin !

Zitat:
zu Inno Setup oder NSIS raten.
Inno hatten wir vorher. Und NSIS hat mir nie gefallen vom Erstellen der Setups her.

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.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 17:42
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
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 17:46
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:
  • Das Updaten des Updaters und seiner Abhängigkeiten (BPLs, DLLs und dergleichen), der ist ja während des Updates "in Benutzung"
  • Der Vergleich könnte/sollte nicht nur Anhand des MD5 erfolgen, sondern - falls verfügbar - auch Anhand der Versionsinformation. Solltest Du z.B. Dritthersteller DLLs, die Du mitlieferst, aktualisieren wollen und der User hat sich bereits eine neuere Version eingespielt, sollte diese ja nicht überschrieben werden
Das "Update Backup" würde ich nur einbauen, wenn Du "kritische" Software ausliefert. Updates sollten ja eigentlich getestet sein und dein Updater Fehler entsprechend abfangen.

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

Re: einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 17:46
Zitat von moelski:
Insofern werde ich mich eher an einem eigenen Installer versuchen.
Warum benutzt Du diesen nicht als Grundgerüst und erweiterst den um Deine Funktionen ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#10

Re: einfacher Installer / Updater - Idee & Meinungen?

  Alt 21. Apr 2009, 18:21
Zitat von hoika:
Noch zu MSI: Was ist denn da so starr ?
Dazu speziell kann ich nichts sagen, aber als Anwender finde ich MSI-Installer furchtbar. Sowas langsames gibts kein zweites Mal
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).
Florian Heft
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 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