Zum Inhalt springen
Der Guide für ein smartes Leben.
Nie wieder nervige Setups

Teil 4: Nie wieder nervige Setups

Autor: Redaktion pcmagazin • 22.8.2007 • ca. 2:00 Min

Trotz der neuen Silent-Parameter basiert IOM immer noch auf der Skriptsprache AutoIt. Die ursprüngliche Stärke dieser Skriptsprache war es, einen Benutzer zu simulieren, indem es Mausklicks und Tastatureingaben automatisch ausführte. Das nutzen Sie, wenn Sie ein Programm mit anderen Einstellungen...

Trotz der neuen Silent-Parameter basiert IOM immer noch auf der Skriptsprache AutoIt. Die ursprüngliche Stärke dieser Skriptsprache war es, einen Benutzer zu simulieren, indem es Mausklicks und Tastatureingaben automatisch ausführte. Das nutzen Sie, wenn Sie ein Programm mit anderen Einstellungen installieren möchten, als es Kommandozeilenparameter erlauben oder wenn diese fehlen.

Nie wieder nervige Setups
Quelle: AutoIt Window Info Tool liefert alle Informationen zum Automatisieren von Installation.
© Archiv

Installieren Sie AutoIt auf Ihre Festplatte, damit Sie die Hilfe und das Window Info Tool erhalten. Zunächst müssen Sie mit dem Befehl ShellExecute die Installationsdatei starten:

ShellExecute(@ScriptDir & "Setup.exe")

In aller Regel handeln Sie dann Fenster für Fenster folgendermaßen ab:

WinWait("Fenstertitel", "eindeutiger Fenstertext")
ControlClick("Fenstertitel", "","ControlID")

Die benötigten Daten liefert das AutoIt Window Info Tool, das sich im AutoIt-Verzeichnis befindet (Au3Info.exe). Im Tab Window bekommen Sie den Fenstertitel, unter Visible Text finden Sie den Fenstertext, aus dem Sie einen Teil herausnehmen sollten, der das Fenster eindeutig gegenüber den anderen während der Installation abgrenzt. Wenn Sie mit der Maus über den Button fahren, der im jeweiligen Fenster zur Bestätigung zu drücken ist, dann finden Sie im Tab Control seine ID. Da diese aber nicht statisch ist, ist es besser, Class und Instance zu kombinieren, also beispielsweise Button2.

Nach diesem Muster lassen sich die meisten Schritte einer Installation erledigen: den Haken bei der Lizenzvereinbarung setzen Sie so:

ControlCommand("Fenstertitel", "Fenstertext", "ControlID", "Check", "")

Falls die Änderung der Umgebungsvariable nicht ausreicht, um den Installationspfad korrekt anzupassen oder Sie einen anderen Pfad festlegen möchten, dann hilft die Funktion ControlSetText weiter:

ControlSetText("Fenstertitel", "Fenstertext", "ControlID", "C:7-Zip")

Den Pfad, den der Nutzer in der IOM als Standardpfad angegeben hat, erreichen Sie über $CmdLine[1]. Damit lässt sich folgende Abfrage bauen:

If $CmdLine[1] "0" Then ControlSetText("Fenstertitel", "Fenstertext", "ControlID", $CmdLine[1]& "7-Zip")

Mit diesen Befehlen lassen sich die meisten Installationen automatisieren.

Zurück zu den Wurzeln

Probleme machen Programme, die unter einer Java-Oberfläche installiert werden: Sie haben keine GUI nach Windows-Standard und lassen sich daher nicht mit den Control-Funktionen von AutoIt ansprechen. Hier kommt man zur Automatisierung quasi zu den Wurzeln von AutoIt, der Simulation von Tastatureingaben. Die Funktion Send leistet dabei wertvolle Dienste:

Nie wieder nervige Setups
© Archiv
Send("!w")

Damit wird die Tastenkombination [Alt-W] simuliert, {ENTER} und {TAB} stehen für sich selbst, {SPACE} für die Leertaste. {UP} und {DOWN} stellen die entsprechenden Cursortasten dar. Detaillierte Informationen zu den beschriebenen und weiteren AutoIt-Funktionen finden Sie in der sehr guten, englischsprachigen Hilfe. Die deutschen Hilfetexte sind in Arbeit.