Mär23

Automatisierung

Categories // Paketierung, Native Setup

oder: Wie wird das setup endlich leise?

Bis auf wenige Ausnahmen haben Installationsroutinen sogenannte Befehlszeilenparameter, mit denen die Installation gesteuert werden kann.
Das kann von Schaltern, die einfach die GUI unterdrücken (Silentmode), über Loggingfunktionen und Pfadangaben für das Zielverzeichnis und den Umfang der Installation schon sehr viel abdecken.
Andere Setups bieten keinerlei solche Möglichkeit und müssen repaketiert werden. Dazu mehr in einem anderen Artikel.

Und nicht jedes Setup ist gleich. Von Hersteller zu Hersteller (Installshield, Innosetup, InstallAware um nur einige zu nennen) unterscheidet sich die Philosophie und auch der Umfang der Befehlszeilenoptionen.

 Ein Beispiel:

Installshield Hilfefenster (...\setup.exe /? )

Was sehen wir? Gehen wir doch zeilenweise die Hilfe durch.

  • /L   Language ID - Gibt die zu installierende Sprache an. Das Setup erwartet hier einen vierstelligen LanguageCode.
    also zum Beispiel die 1031 für deutsche Sprache oder 1033 für Englisch.
  • /S ohne weitere Parameter wird nur der Initialisierungsdialog unterdrückt
  • /S /v/qn Hier wird's interessant. der weitere Parameter "/v" zeigt dem Setup an, dass ein oder mehrere weitere Parameter zur Übergabe an das im Setup enthaltene MSI übergeben werden.
    Und /qn ist ein MSI-Parameter der besagt, dass die Installation Quiet erfolgen soll und No Interface bitte...

Die weiteren Parameter lassen wir außen vor, da sie eher exotisch als nützlich sind und in der Praxis nicht vorkommen.

Hier einmal ein Beispiel für eine Befehlszeile:

Setup.exe" /S /v"TRANSFORMS=\"%~dp0source\bss.mst\" /qn /l*V \"%SystemRoot%\Logging\Softwarename__INSTALL.txt\""

Was hier auffällt ist, dass ich die Möglichkeit habe, eine Technologie mit der anderen zu mischen.
Auf der einen Seite die klassische Setup.exe und auf der anderen Seite ein Transform-File (bss.mst), welches genutzt wird, um Hersteller-MSIs in ihrem Installationsverhalten auf die jeweiligen Vorgaben bei Kunden anzupassen.
Und das etwas kryptische "/l*v" (egal ob Groß- oder Kleinschreibung) bedeutet, das ein Installationslog geschrieben werden soll:

l - Loggingfunktion aktivieren

* - Alle Ereignisse

V  - Verbose logging, also ausführliches Logging

Alles klar?

Leave a comment

You are commenting as guest.