Da muß auch mal auf die Rückgabe eines MSI-Aufrufes (Errorlevel,Exitcode) entsprechend reagiert werden.
Solche Skripte können komplex werden und mehrere Seiten lang sein.
Durch seine skript-programmierbarkeit bietet der MPR dafür ideale Voraussetzungen.
Und hat so das Potential solche Skripte abzukürzen und zu vereinfachen.
Hier ein Beispiel, wie man mit dem MPR auf EXITCODES von MSI-Installationn "reagieren" kann.
Die Details habe ich im Code kommentiert.
Ich habe hier nur für 2 mögliche EXIT-Codes eine Behandlung eingebaut:
-> 0 - Alles Ok
-> 1639 - ungültige MSI-Parameter
-> dann kommt mit CEL\ (ELSE) noch eine allgemeine Message für alle anderen Rückgaben die nicht explizit behandelt werden.
Die Verwendung von SLC\ ist einfacher als wenn man mit IVV\ (IF ...ELSE ...ENDIF) jede einzelne Möglichkeit abfragt.
Die verwendete SLC\-Option (SELECT CASE) bietet unlimitierte Möglichkeiten auf Rückgaben von MSI-Paketen zu reagieren.
Als lauffähiges Beispiel dient noch Mal die TightVNC Installation.
Code: Select all
KRM\2
'
'
VAR\$$EXE=?path\tightvnc-2_8_5-setup-64bit.msi
VAR\$$P01=/quiet
VAR\$$P02=/norestart
VAR\$$P03=ADDLOCAL="Server,Viewer"
VAR\$$P04=VIEWER_ASSOCIATE_VNC_EXTENSION=1
VAR\$$P05=SERVER_REGISTER_AS_SERVICE=1
VAR\$$P06=SERVER_ADD_FIREWALL_EXCEPTION=1
VAR\$$P07=VIEWER_ADD_FIREWALL_EXCEPTION=1
VAR\$$P08=SERVER_ALLOW_SAS=1
VAR\$$P09=SET_USEVNCAUTHENTICATION=1
VAR\$$P10=VALUE_OF_USEVNCAUTHENTICATION=1
VAR\$$P11=SET_PASSWORD=1
VAR\$$P12=VALUE_OF_PASSWORD=PASSWORD
VAR\$$P13=SET_USECONTROLAUTHENTICATION=1
VAR\$$P14=VALUE_OF_USECONTROLAUTHENTICATION=1
VAR\$$P15=SET_CONTROLPASSWORD=1
VAR\$$P16=VALUE_OF_CONTROLPASSWORD=PASSWORD
VAR\$$PAL=$$P01 $$P02 $$P03 $$P04 $$P05 $$P06 $$P07
VAR\$$PAL=$$PAL $$P08 $$P09 $$P10 $$P11 $$P12 $$P13
VAR\$$PAL=$$PAL $$P14 $$P15 $$P16
' Aufrufen des MSI-Installers
VAR\$$MSI=?ws\msiexec.exe
EXS\$$MSI /i "$$EXE" $$PAL
' Ermitteln der Process-ID
VAR\$$PID=$v4$
' Auf Ende der Installation warten
WPT\$$PID
' Exitcode ermitteln anhand der PID
PEC\$$PID>$$EXI
' Hier kommt die SELECT CASE Variante vom MPR zum Einsatz
' So kann man beliebig viele EXIT-Codes auswerten
SLC\$$EXI
CSE\0
MBX\Paket erfolgreich installiert!
CSE\1639
MBX\Ungültige MSI-Parameter
CEL\
MBX\Undefinierte Rückgabe: $$EXI
ESL\
@