WINST Installation verschieben/Installationsstatus ermitteln

Antworten
jkan
Beiträge: 17
Registriert: 13 Sep 2010, 15:06

WINST Installation verschieben/Installationsstatus ermitteln

Beitrag von jkan »

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?

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"
]
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
mhaegele
Beiträge: 293
Registriert: 18 Aug 2010, 13:55

Re: WINST Installation verschieben/Installationsstatus ermit

Beitrag von mhaegele »

jkan hat geschrieben:Hallo,

ich habe zwei Probleme.
Nur 2? ich habe viel mehr Probleme aber das ist ein anderes Thema, scnr ;-).
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?
...

Grüße
Johannes
Du meinst nicht zufällig Windows Update oder SMS?

Beziehe mich nur auf Punkt 1:
Warum so kompliziert?
Es gibt mehrere Ansätze für mich hört sich das so an als ob es das einfachste wäre den "Windows Dienst zu beenden, anzuhalten etc." dann wird opsi aktiv, wenn die opsi Skript(e) durch sind dann einfach den Dienst wieder neu starten ...

Konkret könnte das in etwa so aussehen:

Vorlauf:
1. Vor Opsi Skript Start wird der "andere Dienst" beendet. (z.B. mit Produkt: stopanderer Dienst als Pre Abhängigkeit im "Hauptprodukt")
Hauptteil:
2. Opsi Skript Produkte (Hauptprodukt) werden installiert ...
Nachlauf:
3. Nach Opsi wird der "andere Dienst" wieder gestartet ...
(z.B. "Setup" für Produkt "startanderer Dienst" auf aktiv setzen, und Prio als am Schluss ausgeführt, bzw.
Produkt "Reboot" dann sollte mit automatischem Start der "andere Dienst" aktiv werden etc.)

Das kann man beliebig "hässlich" machen, was in eurer Umgebung noch zu beachten ist etc. usw. kannst ja entsprechend anpassen ...

Vorteile: Nicht jedes Produkt muss separat in den "Skripten" angepasst werden, Vor und Nachlauf sind über Abhängigkeiten im Produkt definiert ...

Mögliche Fehlerquellen:
Evtl. im OPSI Skript noch prüfen ob ein msi prozess bereits läuft "aktiv installiert" bevor ein Dienst beendet wird usw.

hth
MH
jkan
Beiträge: 17
Registriert: 13 Sep 2010, 15:06

Re: WINST Installation verschieben/Installationsstatus ermit

Beitrag von jkan »

Das Beenden der Dienste ist leider keine Option.

Hat jemand noch eine Idee, insbesondere zu Punkt 2?
Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: WINST Installation verschieben/Installationsstatus ermit

Beitrag von tobias »

jkan hat geschrieben:Das Beenden der Dienste ist leider keine Option.

Hat jemand noch eine Idee, insbesondere zu Punkt 2?
Was spricht gegen ein Upgrade auf die neue Version?
Antworten