Page 1 of 1

Warten solange Fenster aktiv

Posted: 23. Nov 2010, 10:54
by J.Schneider
Hallo zusammen,

jetzt hab ich das Forum und die MPR-Hilfe durchsucht und leider nix passendendes gefunden.
Meine Frage daher ... Ich hab eine Deinstallation mit MPR gemacht. Leider dauert die Deinstallation noch aber das EmpPaket ist schon fertig.

Wäre ja schön wenn der MPR wartet bis das letzte Fenster verschwindet und dann das EmpPaket zu ende läuft.
(Leider hat die Deinstallation kein Abschlussfenster ala bin Fertig oder so :( )

Hat hier eine/e ne Idee ?

Re: Warten solange Fenster aktiv

Posted: 23. Nov 2010, 11:40
by drmark
So ad hoc fallen mir zwei Möglichkeiten ein:
Falls noch ein Fenster zu sehen ist, während die Deinstallation des Programmes zu Ende läuft, dann könnte man einfach mit einem Befehl aus der Reihe
- Warten auf Verschwinden von Fenstern "MTW\", "MCW\", "MAC\", "MSC\".
im PackageRobot eben so lange warten, bis das Fenster verschwindet.
Eine andere Möglichkeit wäre, mit dem Befehl WPT\ auf die Beendigung des Prozesses des Deinstallationsprogrammes zu warten.

Re: Warten solange Fenster aktiv

Posted: 23. Nov 2010, 14:23
by J.Schneider
Hey cool ...genau das habe ich gesucht.

Vielen Dank

Re: Warten solange Fenster aktiv

Posted: 24. Nov 2010, 12:17
by r.wiegel
Manchmal kann man auch den Empirum-Befehl nehmen:

WaitWhileProcessExists <ProzessName>, [<TimeOut>]

//Wartet, solange ein Prozess existiert.

aber Danke an drmark für die PR-Befehle!
Ich werde sie mir merken.

Re: Warten solange Fenster aktiv

Posted: 30. Nov 2010, 13:40
by Theo_Gottwald
DrMark hat es in Kurzform geschildert, ich will hier die zwei Möglichkeiten noch etwas mit Befehlen ausbauen:

1. Fenster lokalisieren, zum Beispiel mit STW\, dann einfach
2. mit GPI\ die Prozess-ID ermitteln, und
3. mit WPT\ auf das Ende dieses Prozesses warten.

Oder wer die Prozess-ID ohne ein Fenster ermitteln will, bekommt diese direkt von dem Befehl der das jeweilige Setup gestartet hat, also zum Beispiel EXX\.

Bei den Befehlen "EXX\", "EXW\" und "EXR\", sowie "EXS\" und "EXU\" wird die ProcessId des gestarteten Prozesses in $v4$ gespeichert. Ein konkretes Script würde dann so aussehen:

Code: Select all

EXX\Setup.exe
VAR\$$PID=$v4$
' .... Ablauf des Setups
WPT\$$PID