IT-Automatisierung: Windows-Software auf Kommandozeilenebene installieren

(Last Updated On: 13. Juli 2015)

Zahlreiche Windows-Software wird standardmßig mit einem grafischen Installer eingespeist. Das ist natürlich eine Qual, wenn Sie versuchen wollen, diese Software automatisiert zu installieren. Denn wenn die Software lediglich über einen grafischen installer verfügt, sind Sie dazu gezwungen, GUI-Skriptsprachen wie beispielsweise AutoHotkey oder AutoIT zu verwenden, um die Installation zu automatisieren. Bevor Sie jedoch diesen drastischen Schritt unternehmen, sollten Sie erst prüfen, ob die Software nicht über die Kommandozeile installiert werden kann. Denn viele Windows-Installer verbergen eine Kommandozeilenoption zum Installieren.

setup.ini-methode

Nicht jede Setuproutine unterstützt das einlesen einer setup.ini. in der Regel findet man dies heraus, indem man „<programmname> setup.ini“ googelt. Neben dieser möglichkeit verüfgen die setup-dateien oftmals über den Kommandozeilenparamter -s oder /s, der ebenfalls eine unattended-installation erlaubt. Dazu muss man einfach „Programmname unattended installation“ googlen. Man kann es natürlich auch aauf gut Glück versuchen. Führt man die setup.exe aus, so bedient sich diese den Einstellungen aus der setup.ini und ist dann in der Lage zur automatisierten Installation.

Oft reicht es dabei nicht, einfach eine setup.ini zu erstellen. Viele Suchmaschinen-Suchergebnisse werdem einem folgendes vorschlagen:

  • Neben der gewönhlichen Setup.exe im Hauptordner gibt es meist einen sogenannten administrativen installationspfad auf dem installationsmedium, dieser ist meist der Unterordner Setup auf dem installationsmedium, dort liegt dann eine sogenannte administrative setup.exe mit mehr möglichkeiten als die gewönhliche, welche in der wurzel des Mediums liegt. Hierbei müssen Sie recherchieren, ob dies für Sie zutrifft.
  • Diese administrative Setup-Datei hat oftmals paramteroptionen wie etwa /createunattended <\dateipfad\für\eine\ini-Datei>. Somit können Sie eine grafische Installation der software vornehmen und aus dieser wird dann eine .ini-Datei erstellt, die Sie für künftige Installationsvorgänge auf kommandozeilenebene verwenden können
  • in unserem administrativen Installationsordner wird desweiterne eine Datei namens setup.sdb aktualisiert. Diese enthält meist den Lizenzkey für das Produkt. Das beudeutet, dass bei der Installation die setup.sdb aus diesem adminsitrativen Setup-Ordner gelesen wird, um automatisch den Lizenzoey einzufügen.
  • Neben dem LicenseKey, der automatisch in die setup.sdb geschrieben wird, muss man noch die Produkt-ID mittels eintrag prodID darüber schreiben. Die beiden Einträge müssen per Zeilenumbruch getrennt werden
    ImageType=NET
    ProdID={<ID}
    LicenseKey=<Key>
  • will man nun die unattended-installation ausführen, so darf man auch hier nicht die normale .setup-Datei im root des instalationsmedium ausführen, sondern muss die administrative Setup-Datei mit der option setup.exe /unattendfile x:\Pfad\zu\setup\setup.ini

Setup.exe / update.exe /s

Der Windows install Shield stellt Entwicklern die option bereit, ihre Software mit InstallScript bzw. InstallScript MSI zu erstellen. Diese wiederum haben die option, eine installation im sogenannten Silent Mode laufen zu lassen, der mit dem Schalter /s aktiviert wird. Dadurch wird für dieInstallation keine grafische Oberfläche gestartet und die installation also auf Kommandozeilenebene durchgeführt. Wenn man dann noch die benötigten installationsparameter per kommandozeile übergibt, beispielsweise den Lizenzkey und den Installationspfad, dann bedeutet dies, dass man die installation automatisieren kann. Man findet, ob eine installationsroutine dies untersützt, indem man „Programmname InstallScript options“, „Progrmamname setup.exe comamnd Line“, „Programmname Silen installation“, „Programmanem unattended installation“, oder „Programmname setup.exe /s“ sucht.

auch bei dieser Variante lohnt es sich, im installationsmedium nach einer administrativne setup.exe zu suchen, die sich möglciherwiese in einem unterordner setup befindet.

Um ein InstallSript MSi oder installSrioptm projekt installatiosnprogrmam im Silent modus aufzurufen, müssen wir erst die Setup.ee mit der option /r aufrufen, um ähnlich der setup.ini-Methode durch eine vorangehende installation ein Antwortfile zu erstellen, welches sich die getätigten einstellungen merkt. Die einstellungen werden dann in einer Datei namens setup.iss gespeichert. Diese wird in der Regel im windows-Ordner gespeichert, wir können aber einen alternativne Speicherort mit der option /f1 angeben.

Basic MSI Projekte verwendne hingegen kein Response-File für silent installationen

Danach könenn wir mit setup.exe /s die installation im silenmodus durchführen. Dabei sollten wir unser Antwortfile setup.iss im selben Verzeichnis wie die administrative Setup.exe haben, ansonsten müssen wir wieder einen alternativen Ort über die Option /f1 angeben.

Um ein Basic MSI Produkt im Silent-mode auszuführen, müssen wir hingegen Setup.exe /s /v/qn eingeben. Basic MSI produkte haben kein Response-File und brauchen daher Paramter in der form von Setup.exe /s/v“/qnINSTALLDIR=“D:\Destination“

Wie Sie der Überschrift schon entnehmen können, können Sie bei einigen Produkten nicht nur die Installation, sondern auch das Updaten der Software mit dem Silent-Schalter übernehmen. Hierzu gibt es oft eine update.exe im Verzeichnis der Programminstallation.

Kopieren und Registry einträge nachziehen

Wenn ihre Software weder die setup.ini-Methode noch die Unattended-Installation unterstützt, kann es gegebenenfalls helfen, eine normale Installation durchzuführen und sich einfach nur die Dateien im Programmordner wegzukopieren. Zusätzlich suchen Sie im Registry-Editor (Start / Ausführen / regedit) nach Schlüsseln mit dem Namen des Programms oder des Herstellers, vor allem im Pfad HKEY_LOCAL_MACHINE\Software, und exportieren sich die Schlüssel in .reg-Dateien. Sie können dann versuchen, den Programmordner auf Kommandozeilenebene auf das Zielsystem zu kopieren und dort dann die .reg-Dateien auszuführen, sodass die Registrierungsschlüssel in die registry des zielsystems geschrieben werden. Bei überraschend vielen Softwareinstallationen klappt dies problemlos. Probleme bekommen sie nur, wenn bei der Softwareinstallation auch Dateien an andere Stellen des Systems kopiert werden, beispielsweise in das Windows-Verzeichnis. Hierzu müssen Sie halt nur feststellen, in welche Ordner sonst noch bei der nistallation Dateien kopiert werden. Dazu können sie sich einem Tool bedienen, welches Ihre Ordner nach Dateiänderungen überwacht. Starten Sie das Tool, lassen sie verdächtige Ordner wie C:\Program Files, C:\Windows usw. überwachen und führen Sie die installation durch. Nach der installation haben Sie eine Übersicht, welche Dateien geändert wurden. Entsprechende tools wären beispielsweise

  • DirectoryMonitor
  • TheFolderspy
  • Track Folder changes
  • Watch 4 Folder
  • FolderchangesView (empfohlen)
  • windows Explroer Tracker
  • Spy-The-Spy
  • SpyMe Tools
  • Disk Pulse
  • file Alert monitor

Automatisches Entpacken

Alternativ zu der Methode, dass Sie die Installationsdateien einfach per Copy und Paste auf Kommandozeilenebene kopieren, können Sie sich auch eine Archivdatei basteln, welche die Dateien beim Entpacken automatisch in die richtigen Ordner verschiebt. Damit können Sie beispielsweise nicht nur Softwareinstallationen automatisieren, sondern auch andere Dateien ausrollen, die beispielsweise jeder mitarbeiter in Ihrem Unternehmen auf seinem Arbeitsplatz braucht.

Bevor wir uns ein solches Archiv erstellen, möchte ich Ihnen nur kurz zeigen, wie Sie auf Kommandozeilenebene verschiedene Packerarchive extrahieren.

sie extrahieren .7z-Archive über

<Pfad zur 7z.exe> e <Pfad zum .7z-Archiv>

.rar-ARchive extrahieren Sie mit installiertem WinRar über

<Pfad zur UnRAR.exe>  x "<Pfad zur .rar-Datei>" <Pfad zum Zielordner>
#passowrtgeschützte Datei
<Pfad zur UnRAR.exe> x -p<Passwort> "<Pfad zur .rar-Datei>" <Pfad zum Zeilordner>

normale .zip-Dateien können Sie ebenfalls mit WinRaR extrahieren – jedoch nicht mit der unRAR.exe, sondern mit dre winrar.exe.

<Pfad zur winrar.exe> x <Pfad zur .zip-Datei> <Zielordner>

Nun erkläre ich Ihnen das Erstellen eines selbstextrahierenden Archivs mit WinRAr. Starten Sie WinRar und fügen sie die zu archivierenden installationsdateien zu einem neuen Archiv hinzu. im reiter Advanced wählen Sie die SFX options. im neuen Fenster wählen Sie im Reiter General den Zielordner, in den die Softare installiert werden soll. Es amcht Sinn, im reiter Mdoes den Silent mode auf Hide all zu setzen, damit während des Entpackvorgangs kein Fenster geöfnfnet wird und die Aktion für den User transparent bleibt. Im reiter Files können Sie nachträglich noch Dateien zum Archiv hinzufügen.

Automatische Installation über .msi-Archive

Bei allen Softwareinstallationen, für die Sie die Dateien und Zielpfade kennen, können Sie die Installation auch über ein .msi-Archiv automatisieren. Der vorteil ist, Sie können hier einige Dateien in den rpogrammordner verschieben und einige Dateien in andere Ordner, wie beispielsweise den Windows-Ordner, den Desktop oder den Eigene-Dateien-Ordner des zielsystems. Und: diese Art von .msi-Installation lässt sich über Gruppenrichtlinien im Microsoft Active Directory ausrollen.

Eine sehr einfache Möglichkeit ist das tool MSI Wrapper (altnerative: EMCO MSI Package Builder). Sie starten das Programm, und wählen die setup.exe des programms, dessen Installationsroutine Sie in eine .msi-Datei packen wollen. Das programm muss bereits auf dem Rechner, auf dem Sie die .msi-Datei erstellen, installiert sein, weil Sie die Application ID des Programms aus einer Liste auswählen müssen. Erstellen Sie einen neuen Upgrade Key. Die Registry-Einträge, die gesetzt werden müssen, werden automatisch von den Registry-Einträgen, die sich auf Ihrem PC befinden, eingelesen (sofern das Programm bereits installiert ist). Im fenster Parameters geben Sie dann noch unter Install Arguemtns und Uninstall Arguments jeweils /S ein, um die installation und Deinstallation im Silent-modus abzuschließen. Zum Schluss bauen Sie die .msi-Datei. Diese können Sie beispielsweise einfach über Active Directory Gruppenrichtlinien ausrollen lassen.

Eine fortgeschrittene Möglichkeit ist das Tool Advanced Installer. Das Toolist Free, solange sie im New Project-Menü das Basic-template verwenden. speichern Sie die Projektdatei mit Endung .aip irgendwo, den Output-Folder und den Namen der .exe oder .msi-Datei. als nächstes wählen Sei den Ordner mit den installationsdateien. Wichtig ist für Sie nachher das Menü Ressources / Files and Folders sowie Resources / registry. Dort wählen Sie, welche Dateien in welche Ordner und welche Registry-Keys gesetzt werden sollen.

eigene und fremde .msi-Pakete können Sie auf Kommandozeilenebene einfach foglendermaßen silent installieren.

msiexec.exe /qn /i <pfad zur .msi-Datei>

Sollte die option /i nicht funktionieren, rpioberen sie die Option /x

msiexec.exe /qn /x <Pfad zur .msi-Datei>

Eventuell müssen Sie bei fremden .MSI-Dateien zusätzliche Optionen wie etwa einen Produktcode angeben. Einen Prpoduktcode geben Sie meist folgendermaßen an

msiexec.exe /qn /x {<code>}

andere Optionen können Sie mit dem Orca Tool ausspähen und dann folgendermaßen angeben

msiexec.exe /qn /[i|x] <Parametername>=<Wert>

 

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren …

1 Antwort

  1. Fabian sagt:

    Hi,

    um silent Parameter für Installationen zu finden, kann ich ITNinja empfehlen! Leider nicht mehr mit einer so einfachen Suche wie früher Appdeploy.com, jedoch immer eine Anlaufstelle von mir, wenn ich ein unbekanntes Setup Paket habe.

    Gruß

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.