MsiExec progress catch
Piszę małą aplikację, aby zainstalować jakiś produkt i odinstalować inne w trybie cichym.
Każdy produkt ma swój plik MSI i nic innego, a manifest aplikacji stwierdza, że powinien być uruchamiany z uprawnieniami administratora.
Jest bardzo łatwy do uruchomieniamsiexec
z odpowiednimi argumentami do wykonania mojego zadania (tylko garść kodu) i wszystko działa dobrze.
Tak czy inaczej, pakiet zajmuje dużo czasu, aby zakończyć, a na jakimś starym komputerze PC pyta, czy coś nadal dzieje się w tle lub jest zawieszone.
Czy można więc „złapać”msiexec
postęp i na przykład zaktualizować pasek postępu w mojej aplikacji? Brzmi dziwnie, ale jestem pewien, że jakiś profesjonalny instalator działa w ten sposób, uruchamiając zewnętrzny pakiet msi.
Czy to możliwe? Czy jest coś, co możemy zrobić w C #, czy jest to bardzo trudne zadanie, które wymaga dużej wiedzy, której nie mam?
Tylko uwaga: wiem, że mógłbym użyć"/qb"
param, ale niektóre pakiety nie zachowują się w odpowiedni sposób i nie chcę go używać.