MsiExec Fortschritt fangen

Ich schreibe eine kleine App, um ein Produkt zu installieren und ein anderes im unbeaufsichtigten Modus zu deinstallieren.
Jedes Produkt hat seine MSI-Datei und nichts anderes. In meinem App-Manifest heißt es, dass es mit Administratorrechten ausgeführt werden sollte.
Es ist ziemlich einfach zu rennenmsiexec mit den richtigen Argumenten, um meine Aufgabe zu erfüllen (nur ein Haufen Code) und alles funktioniert gut.
Wie auch immer, ein Paket braucht viel Zeit, um fertig zu werden, und ein alter PC-Benutzer fragt, ob noch etwas im Hintergrund läuft oder es hängt.
So ist es möglich zu "fangen"msiexec Fortschritt und zum Beispiel eine Fortschrittsanzeige auf meiner App aktualisieren? Klingt verrückt, aber ich bin mir ziemlich sicher, dass ein professioneller Installer auf diese Weise arbeitet, wenn er ein externes MSI-Paket ausführt.
Also ist es möglich? Gibt es etwas, das wir in C # tun können, oder ist es eine sehr schwierige Aufgabe, die viel Wissen erfordert, das ich nicht habe?

Nur eine Anmerkung: Ich weiß, ich könnte es gebrauchen"/qb" param, aber ein Paket verhält sich nicht richtig damit und ich möchte es nicht verwenden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage