Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Projektplanung und -Management (https://www.delphipraxis.net/85-projektplanung-und-management/)
-   -   Flexible Installationslösung gesucht (https://www.delphipraxis.net/166404-flexible-installationsloesung-gesucht.html)

Flips 11. Feb 2012 17:39

Flexible Installationslösung gesucht
 
Hi,

Folgendes Problem:

Ich habe ein Bündel unterschiedlichster Programme und Komponenten, von SDK's (in Form von Installern) über Programmbibliotheken bis hin zu losen Dateien.

Kernaufgabe ist es nun, einen zentralen Installer zu schaffen, der all diese Komponenten auf einen Schlag installiert. Der Installer braucht folgende Eigenschaften:
  • Ruhige Installation (d.h. möglichst einmal Doppelklick und Feierabend, mögliche Konfigurationen sollen dann anderweitig zugeführt werden, Argumente etc...)
  • Volle "Datenhoheit", d.h. lesender & schreibender Zugriff auf das Dateisystem und die Registry (Adminrechte sind vorhanden). Weiterhin muss der Installer auch in ihn gepackte Installationen installieren können (bspw. die SDK's) und ggf. Installationen entfernen.
  • Aus alle dem folgt eine logische Konsequenz: Eine Installer Lösung auf Skript-Basis.

Ursprünglich sollte WiX es tun, aber ich dachte mir ich frage euch mal.
Habt ihr Erfahrungen damit? Also sowohl allgemein mit Installationslösungen (Inno Setup, Nullsoft Scriptable Install System, ...) als auch speziell mit WiX.
Könnt ihr eine Lösung empfehlen?

Vielen Dank im Voraus!!

Perlsau 12. Feb 2012 10:38

AW: Flexible Installationslösung gesucht
 
Zitat:

Zitat von Flips (Beitrag 1150552)
Kernaufgabe ist es nun, einen zentralen Installer zu schaffen, der all diese Komponenten auf einen Schlag installiert. Der Installer braucht folgende Eigenschaften:
  • Ruhige Installation (d.h. möglichst einmal Doppelklick und Feierabend, mögliche Konfigurationen sollen dann anderweitig zugeführt werden, Argumente etc...)
  • Volle "Datenhoheit", d.h. lesender & schreibender Zugriff auf das Dateisystem und die Registry (Adminrechte sind vorhanden). Weiterhin muss der Installer auch in ihn gepackte Installationen installieren können (bspw. die SDK's) und ggf. Installationen entfernen.
  • Aus alle dem folgt eine logische Konsequenz: Eine Installer Lösung auf Skript-Basis.

Ich denke, da mußt du selber rumprobieren. Wer installiert sich auch ständig Delphi oder RadStudio neu? Kann mir aber kaum vorstellen, daß sowas geht. Wie willst du z.B. die einzelnen Dialoge in den verschiedenen Setup-Programmen scriptgesteuert beantworten?

BMI 12. Feb 2012 10:39

AW: Flexible Installationslösung gesucht
 
also prinzipiell solltest Du mit Wix schon vieles machen können, - allerdings muß man dort denke ich trotz GUIs auch viel Kenntnis von der Syntax haben - gerade, wenn man auch vorinstalliertes enternen möchte.
Evtl. kommste um was vom installer während der Installation gestartetes , selbstgeschriebenes nicht rum.
Zitat:

Weiterhin muss der Installer auch in ihn gepackte Installationen installieren können
auch hier wirste wohl was selbst geschriebenes besser steuern können, als über eine Scriptsprache - hab keine Ahnung, wie was wo rein (zip gebündelte Bibliotheken, welche aktualisiert werden sollen?)


Wobei man mit Innosetup schon wirklich ne Menge machen kann (und dann noch ein eigenes, individuelles Programm starten ...)


Probier doch mit Inno aus (is doch schnell zusammengeklickt) und teste in ner VM oder mit Registryreimporten und Batch(Löschen/Zurückkopieren), was geändet werden soll.

Du kannst auch bei Inno sämtliche Dialog-Fenster abschalten. (Lizenz, Ort, icons/Links, quicklinks)

Theoretisch kannste da nen Patcher raus machen.
mit 1-Klick Frage: installiern? janein

Hat dann den gleichen faden Nachgeschmack, wie einer aus den "Grauzonenbereichen" :D

(Is nur normal nich so ne feine Sache. Wer weiß schon nichtgerne, was ihm son Setup ohne Nachfrage wohin schreibt - daher sind die Fragen Standard)



Falls das nicht ausreichend ist, kannste ja immer noch msi erstellen.

Flips 12. Feb 2012 11:11

AW: Flexible Installationslösung gesucht
 
Zitat:

Zitat von Perlsau (Beitrag 1150592)
Ich denke, da mußt du selber rumprobieren. Wer installiert sich auch ständig Delphi oder RadStudio neu? Kann mir aber kaum vorstellen, daß sowas geht. Wie willst du z.B. die einzelnen Dialoge in den verschiedenen Setup-Programmen scriptgesteuert beantworten?

Naja die Setups die vom Installer installiert werden sollen sind alle so gestrickt, dass die Kommandozeilenargumente übernehmen und so automatisch installiert werden können ohne Dialoge.

Grauzonenbereiche sind es auch nicht, die Anwender wissen davon (also ein Doppelklick war nicht ganz korrekt, ein Doppelklick, dann ein Fenster mit den zu installierenden Komponenten innerhalb des Installers und dann ein weiterer Klick ;-) ) und die enthaltenen Setups und Komponenten erlauben sowas auch von rechtlicher Seite.

Was selbstgeschriebenens, nunja auch das ist natürlich möglich. In einem WiX-Tutorial stand halt auch, dass WiX es auch erlaubt, eigene Programme mit in die MSI zu packen die nur dafür da sind, weitere Routinen für die Installation zur Verfügung zu stellen.

Aber ich probiere nun mal Inno zusätzlich zu WiX aus. Bei WiX ist halt das schöne, dass es sich vollständig in die Visual Studio Umgebung integrieren lässt. Aber das soll jetzt nicht das entscheidene Argument sein.

jaenicke 12. Feb 2012 12:10

AW: Flexible Installationslösung gesucht
 
Inno Setup hat auch den Vorteil, dass man Formulare und Skripte in Pascal Syntax darin erstellen kann. Von der sonstigen Funktionalität her können einige andere Tools ähnlich viel.

generic 12. Feb 2012 14:11

AW: Flexible Installationslösung gesucht
 
Was spricht denn gegen WIX?

Im MSI Bereich ist es üblich, viele kleine Pakete zu haben.
Diese werden dann via Chaining oder Bootstrapping hintereinander ausgeführt.

Da du allgemein nach WIX gefragt hast, im Entwickler Mag. gibt es eine Artikelserie dazu:

Entwickler Magazin (Ausgabe: 04.09/17.06.2009) Artikel: Windows Installer API
Entwickler Magazin (Ausgabe: 03.09/15.04.2009) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen Teil 4
Entwickler Magazin (Ausgabe: 02.09/12.02.2009) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen Teil 3
Entwickler Magazin (Ausgabe: 01.09/10.12.2008) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen Teil 2
Entwickler Magazin (Ausgabe: 06.08/15.10.2008) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen

Flips 9. Mär 2012 18:39

AW: Flexible Installationslösung gesucht
 
Hi alle zusammen,

ich habe nun längere Zeit evaluiert und ein wenig "hin und her entwickelt".
Unter anderem habe ich InstallShield 2012 Premium, WiX und WiX# getestet.

Im Endeffekt kommt dann WiX als beste Lösung heraus, da es kostenlos ist und alle Features besitzt, die benötigt werden. InstallShield ist sehr mächtig, aber dementsprechend kompliziert und die vielen - in meinem Fall unnötigen - Features machen es umso schwerer, die wichtigen Features einzubauen.
WiX# ist quasi ein C#-Wrapper für WiX, allerdings besteht hier die Gefahr, dass das Projekt eines Tages nicht mehr gepflegt wird. Außerdem ist die Doku mehr als mau.

Ergänzt wird das ganze durch einen selbst gebauten Bootstrapper, der vom Installer gestartet wird und dann die entpackten MSI installiert, da eine Installation während einer anderen Installation ("nested MSI") offiziell von MS als deprecated dokumentiert ist.

Vielen Dank für eure Anregungen!

mkinzler 10. Mär 2012 09:05

AW: Flexible Installationslösung gesucht
 
Du könntest dir auch noch InnoSetup anschauen. Ist in Delphi geschrieben.

vagtler 10. Mär 2012 10:33

AW: Flexible Installationslösung gesucht
 
Zitat:

Zitat von mkinzler (Beitrag 1155763)
Du könntest dir auch noch InnoSetup anschauen. [...]

Was jetzt die vierte Nennung von InnoSetup in diesem Thread war.

Flips 10. Mär 2012 14:07

AW: Flexible Installationslösung gesucht
 
Inno Setup fällt komplett raus, da es keine MSI-Pakete bauen kann.
Tut mir Leid, dass das nicht im ersten Beitrag steht, die Auflage kam auch erst später. Es sollen MSI-Pakete rauskommen, da diese über Gruppenrichtlinien besser verteilt werden können, irgendwie sowas ;-)


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