Seite 1 von 1

Command abgeschlossen aber nicht installiert

Verfasst: Mi Mai 20, 2020 5:22 pm
von Falaffel
Hallo,

ich habe gerade das Problem, dass ein Command (mit dem Assistent installiert) als abgeschlossen angezeigt wird, aber auf dem Client nichts installiert wurde. Im Log wird auch nur der Consolenteil anzeigt. Der Clientteil fehlt komplett. Es ist eine Setupprogramm über Shell execute...
Parallel hat mein Kollege ein ähnliches Command mit einem anderen Programm (auch über den Assistenten) erstellt. Das wurde erst als abgeschlossen angezeigt, nachdem er am Client die mseiexec, manuell geschlossen hatte. Bei ihm war es ein MSI-Paket.

Re: Command abgeschlossen aber nicht installiert

Verfasst: Mi Mai 20, 2020 6:21 pm
von ngottschalk
Hi Falaffel,

zumindest der Fall vom Kollegen ist einfach erklaert: Das Script arbeitet Befehl fuer Befehl ab und wartet (fuer gewoehnlich) auf den Abschluss des Programms (da ansonsten ExitCodes nicht zuverlaessig sind). Wenn jetzt msiexec.exe die ganze Zeit laeuft (weil z.B. auf eine Eingabe auf dem Service Desktop gewartet wird), macht auch das Skript nicht weiter.
Bzgl. des ersten Problems waere natuerlich gut zu wissen, wie das CC aufgerufen wurde, etc., aber das ueberlasse ich dann mal hier dem Support.

Re: Command abgeschlossen aber nicht installiert

Verfasst: Fr Mai 22, 2020 8:14 am
von Falaffel
Hallo Niklas,

danke dir. Werde das meinem Kollegen dann mal weitergeben. Wie gehst du üblicherweise an so etwas ran, wenn msiexec offensichtlich auf eine Eingabe wartet?

Mein Skript wurde ebenfalls mit dem Assistenten erstellt und wird wie gesagt erfolgreich abgeschlossen. Gestartet wird es über die Console im Bereich "Testen".

Re: Command abgeschlossen aber nicht installiert

Verfasst: Fr Mai 22, 2020 8:33 am
von twahl
Hallo,

bei den Client Command die per Paket Wizard erstellt wurden, wird die Option Client-Log auf "Nur bei Fehlern" gesetzt.
Im Shell Execute Command Baustein sollte die Option "Fehlschlagen wenn Exit Code nicht 0 ist" aktiv sein, liefert der Installer also sogar bei Fehlern einen Exitcode 0 oder wird die Anwendungen korrekt, aber im falschen Kontext (per User als SYSTEM User) installiert, wird kein Client Command Log erstellt, da das Command an sich fehlerfrei lief.
In den Eigenschaften des Client Commands kann unter Optionen das Log für jeden Durchlauf aktiviert werden.

Re: Command abgeschlossen aber nicht installiert

Verfasst: Fr Mai 22, 2020 8:28 pm
von ngottschalk
Falaffel hat geschrieben: Fr Mai 22, 2020 8:14 am Hallo Niklas,

danke dir. Werde das meinem Kollegen dann mal weitergeben. Wie gehst du üblicherweise an so etwas ran, wenn msiexec offensichtlich auf eine Eingabe wartet?

Mein Skript wurde ebenfalls mit dem Assistenten erstellt und wird wie gesagt erfolgreich abgeschlossen. Gestartet wird es über die Console im Bereich "Testen".
Hi Robert,

mir fallen dafuer mehrere Loesungen ein:
1. Man laesst den gesamten MSI-Installationsvorgang mitloggen und sieht nach, wo es genau haengt. Danach analysiert man die MSI Datenbank ein wenig und schaut, ob man die betreffende Aktion irgendwie umgehen kann (z.B. ueber "Public Properties"); Wenn es keinen einfachen Weg gibt, muss gebastelt werden, um das Ergebnis der Aktion nachzubilden, die eigentliche Aktion aber im MSI zu deaktivieren
2. Man repaketiert die Software (sollte die letzte Loesung sein, ist quasi Reverse-Engineering)
3. Aufgrund von viewtopic.php?f=95&t=2492 habe ich bei uns einen eigenen Stack als Funktion implementiert, der ein lokales Dienstkonto einrichtet und anschliessend via PSexec die Installation unter diesem Konto auf dem Desktop des angemeldeten Benutzers ausfuehrt. Hat die Nachteile, dass a) die Benutzer die Installation je nach Fall sehen/selbst machen (kann auch ein Vorteil sein), b) es in einem anderen Kontext ausgefuehrt wird, sodass Installer, die nicht komplett Multiuser-tauglich sind, fehlerhaft installieren c) ein Account dafuer eingerichtet wurde (wir koennten auch den lokalen Admin und die ACMP Variante nehmen, aber wir wollen das integrierte Adminkonto aus Sicherheitsgruenden abschaffen) und d) ein Benutzer angemeldet sein muss.