WaitWhileProcessExists und Wildcards

Post Reply
Frank-A
Posts: 1
Joined: 17. May 2019, 08:50
Contact:

WaitWhileProcessExists und Wildcards

Post by Frank-A » 17. May 2019, 09:33

Hallo,
Ich habe ein Problem mit einer Deinstallationssection.

Ich rufe meine ganz normale Uninstall.exe mit den silent Parametern auf.
Die Deinstallation läuft auch sauber durch.
Wenn ich aber nach der Deinstallation eine Erfolgsprüfung auf das Vorhandensein des Uninstall-Key in der Reg durchführe, bekomme ich einen Error mit dem Level 0 zurückgeliefert.
Der Grund ist, dass der Uninstall.exe-Prozess zwar erfolgreich gelaufen ist, aber der Uninstall-Key zum Zeitpunkt der Erfolgsprüfung noch nicht gelöscht ist.

Meine Nachforschungen haben ergeben, dass die eigentliche Uninstall.exe einen Child-Prozess aufruft, welche das eigentliche Löschen der Programm-Dateien und der Regschlüssel durchführt.
Die eigentliche Uninstall.exe ist demzufolge, nach dem Aufruf seines Child-Prozesses ordnungsgemäß fertig und liefert 0 (für OK) zurück.

Meine Idee ist jetzt, vor der Erfolgsprüfung, ein WaitWhileProcessExists auf den Child-Prozess einzubauen und solange zu warten bis der Child-Prozess abgeschlossen ist.

Und hier entsteht jetzt mein Problem:
Die Uninstall.exe ruft einen temporären Child-Prozess mit dem Namen _uninstall00000.exe.
Hierbei sind aber die letzten 5 Stellen des Prozessnamens, in meinem Beispiel 00000 jedesmal anders und an nichts "festzumachen".

Meine Frage ist nun:
Gibt es eine Möglichkeit die WaitWhileProcessExists Abfrage so zu gestalten, dass die letzten 5 Stellen mit Wildcards belegt sind?

zum Beispiel
WaitWhileProcessExists "_uninstall?????.exe", 500
oder
WaitWhileProcessExists "_uninstall*.exe", 500

Aktuell habe ich als Workaround ein längeres Sleep nach meinem Uninstall.Exe-Aufruf eingebaut, aber das kann keine dauerhafte Lösung sein, da die Prozessdauer variieren kann, und somit trotzdem auf einen Fehler laufen kann.

Danke im Voraus

Gruß
Frank

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: WaitWhileProcessExists und Wildcards

Post by Hendrik_Ambrosius » 20. May 2019, 14:58

Idee: Das TASKLIST von Windows in eine Datei umleiten und dann mit DOESTEXTINFILEEXIST abprüfen.
In einer Schleife.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: Majestic-12 [Bot] and 11 guests