WINST Installation verschieben/Installationsstatus ermitteln
Verfasst: 05 Jun 2013, 16:53
Hallo,
ich habe zwei Probleme.
1. In unserer Umgebung ist es möglich, dass MSI-Installationen von einem Windows-Dienst im Hintergrund durchgeführt werden und diese den OPSI-Installationen in die Quere kommen. Für diesen Fall fange ich den entsprechenden Exit-Code von msiexec ab und setze die angefordertet Aktion erneut auf setup. Damit der Paketstatus nicht auf installed gesetzt wird, verlasse ich das Skript mit ExitWindows /ImmediateLogout. Das funktioniert so auch ganz gut, allerdings werden nach dem ExitWindows /ImmediateLogout keine weiteren anstehenden Aktionen mehr ausgeführt. Ist es irgendwie möglich, das Skript so zu beenden, dass die Aktion beibehalten wird aber trotzdem weitere Aktionen abgearbeitet werden?
2. Ich benötige in einem Skript Informationen über die aktuell auf dem Client installierte Version des Produkts (Paket-Version, Software-Version). In einer neueren Version von Winst scheint dafür die Funktion getProductMap mit den Feldern installedproduct und installedversion vorgesehen zu sein. Lassen sich diese Informationen auch irgendwie in der Version 4.11.1.6 ermitteln?
Grüße
Johannes
ich habe zwei Probleme.
1. In unserer Umgebung ist es möglich, dass MSI-Installationen von einem Windows-Dienst im Hintergrund durchgeführt werden und diese den OPSI-Installationen in die Quere kommen. Für diesen Fall fange ich den entsprechenden Exit-Code von msiexec ab und setze die angefordertet Aktion erneut auf setup. Damit der Paketstatus nicht auf installed gesetzt wird, verlasse ich das Skript mit ExitWindows /ImmediateLogout. Das funktioniert so auch ganz gut, allerdings werden nach dem ExitWindows /ImmediateLogout keine weiteren anstehenden Aktionen mehr ausgeführt. Ist es irgendwie möglich, das Skript so zu beenden, dass die Aktion beibehalten wird aber trotzdem weitere Aktionen abgearbeitet werden?
Code: Alles auswählen
if (getLastExitCode = "1618")
sub_postpone
endif
[sub_postpone]
OpsiServiceCall_setSetup
OpsiServiceCall_setNotInstalled
ExitWindows /ImmediateLogout
[OpsiServiceCall_setSetup]
"method":"setProductActionRequest"
"params":[
"%installingProdName%",
"%HostID%",
"setup"
]
[OpsiServiceCall_setNotInstalled]
"method":"setProductInstallationStatus"
"params":[
"%installingProdName%",
"%HostID%",
"not_installed"
]
Grüße
Johannes