MSI-Pakete zeitsynchronisiert starten mit dem AutoMATE

theogott
Beiträge: 15
Registriert: So Feb 27, 2011 3:29 pm

MSI-Pakete zeitsynchronisiert starten mit dem AutoMATE

Beitragvon theogott » Do Mai 05, 2011 3:38 pm

Wie kann man mehrere MSI Installationen in einem einzigen AutoMATE Skript, zeitgesteuert - und je nach Bedarf - starten?

Code: Alles auswählen

' +++ main_UtimacoClient_5_50.rem +++ ' Zweck: ' erstellt am: 02.07.2010 ' von: Pekny '======================== '#EXE:?path '#SPI:ForceWrite '#SPI:VBRun '#SPI:NoAuto '#SPI:x64 ' 'killt mögliche noch laufende AutoMATE-Prozesse KRM\2 'Abfrage ob schon installiert ist IAI\Sophos SafeGuard Preinstall 5.50.0 GOTO part2 EAI\ EXX\?ws\msiexec.exe|/i "?pfad\1_sgxclientpreinstall.msi" /qn VAR\$$PID=$v4$ 'Sprungmarke zu Unterprogramm "Todo" GSB\Todo|Sophos SafeGuard Preinstall 5.50.0|600 :part2 IAI\Sophos SafeGuard 5.50.0 Client GOTO part3 EAI\ EXX\?ws\msiexec.exe|/i "?pfad\2_sgnclient.msi" REBOOT=Reallysuppress ADDLOCAL=ALL /qn VAR\$$PID=$v4$ GSB\Todo|Sophos SafeGuard 5.50.0 Client|1800 :part3 IAI\Sophos SafeGuard Configuration Protection 5.50 GOTO part4 EAI\ EXX\?ws\msiexec.exe|/i "?pfad\3_sgn_cp_client.msi" /qn REBOOT="Reallysuppress" VAR\$$PID=$v4$ GSB\Todo|Sophos SafeGuard Configuration Protection 5.50|660 :part4 IAI\Sophos SafeGuard 5.50.0 Client Configuration GOTO enx EAI\ EXX\?ws\msiexec.exe|/i "?pfad\4_base_5.50.msi" /qn REBOOT="Reallysuppress" VAR\$$PID=$v4$ GSB\ToDo|Sophos SafeGuard 5.50.0 Client Configuration|600 ' Errorlevel setzen SRV\0 :enx @ :Todo WPT\$$PID|$$_02 ITO\ ' Timeout Fehler 'RMD\Cache SRV\5 GOTO enx ETO\ 'Pruefung ob SW installiert ist bzw. unter Software eingetragen wurde NAI\$$_01 ' Errorlevel selbst definiert, Fehler, es wurde nicht installiert!! SRV\6 GOTO enx EAI\ 'Rücksprung aus Unterprogramm "Todo" RET\ @
Sehen wir mal etwas genauer hin, wie das Skript funktioniert.

Das Script oben startet 4 MSI Installationen - eine nach der anderen.
Aber es macht noch einiges mehr.

Es prüft vor jeder Installation ob das jeweilige Paket schon drauf ist, überspringt in dem Fall die Installation und bietet ein Error-Handling.

Damit sich der Sinn der Zeilen etwas erschliesst, erläutere ich die hier mal:

Code: Alles auswählen

'Abfrage ob schon installiert ist IAI\Sophos SafeGuard Preinstall 5.50.0 GOTO part2 EAI\


IAI\ prüft ob dieses Paket schon drauf ist und falls so springt das Skript zu einem Label.

Schreiben muss der Admin dabei nur das "IAI\" den Rest fügt man aus einem Menü ein.
Es sieht also nur nach viel Text aus, den man zudem nicht per Hand schreiben muß.

Der eigentliche Start des jeweiligen Paketes erfolgt wie üblich mit einer einzigen Zeile:

Code: Alles auswählen

EXX\?ws\msiexec.exe|/i "?pfad\1_sgxclientpreinstall.msi" /qn

Am Ende wird nochmals auf verschiedene Weise geprüft ob die Pakete sich ordentlich installiert haben.

Code: Alles auswählen

ITO\ ' Timeout Fehler 'RMD\Cache SRV\5 GOTO enx ETO\ 'Pruefung ob SW installiert ist bzw. unter Software eingetragen wurde NAI\$$_01 ' Errorlevel selbst definiert, Fehler, es wurde nicht installiert!! SRV\6 GOTO enx EAI\
Das sieht etwas kompliziert aus, aber auch nur wenn man die Bedeutung der Befehle nicht kennt.

ITO\ bedeutet "If TimeOut" also wenn das Paket zu lange installiert. Dazu sind bei jedem Paket Maximalzeiten angegeben die nicht überschritten werden dürfen. So kann man diese Art der Installation gegen sporadisch auftretende Probleme absichern.

NAI\ ist der Pedant zu IAI\ und prüft ob eine Anwendung nicht installiert ist.
So kann man nach der Installation ohne in der Registry suchen zu müßen leicht feststellen ob alles erfolgreich verlaufen ist.
Auch hier sieht es nur für den Uneingeweihten nach viel aus.

Mit der Zeile:

Code: Alles auswählen

SRV\6
wird schliesslich ein "Errorlevel" gesetzt, der dann im aufrufenden System ausgewertet werden kann.

AutoMATE Scripte sind üblicherweise kürzer als jeweils andere Scripte die das Gleiche tun. Das liegt daran dass die Befehle in der Regel nur 4 Zeichen lang sind. Allerdings muß es auch das Gleiche sein.

Es geht hier nicht darum, nur einfach 4 Pakete anzustarten, sondern es werden auch noch die Bedingugnen, welche Pakete erforderlich sind jeweil überprüft. Ein "intelligentes Paket".
Theo Gottwald
Selbständiger IT-Berater

ACMP AutoMATE Professional
Let the Robots do it for you.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast