MsiExec прогресс улов
Я пишу небольшое приложение для установки одного продукта и удаления другого в режиме без вывода сообщений.
У каждого продукта есть MSI-файл и ничего более, и в манифесте моего приложения указано, что его следует запускать с правами администратора.
Это довольно легко запуститьmsiexec
с правильными аргументами для выполнения моей задачи (просто куча кода) и все работает нормально.
В любом случае, завершение какого-либо пакета занимает много времени, и на некоторых старых компьютерах пользователь спрашивает, происходит ли что-то еще в фоновом режиме или зависает.
Так можно ли "поймать"msiexec
прогресс и, например, обновить индикатор прогресса в моем приложении? Звучит безумно, но я уверен, что какой-то профессиональный установщик работает таким образом, запуская внешний MSI-пакет.
Так возможно ли это? Есть ли что-то, что мы можем сделать в C #, или это очень сложная задача, требующая большого количества знаний, которых у меня нет?
Просто примечание: я знаю, что мог бы использовать"/qb"
param, но какой-то пакет ведет себя некорректно, и я не хочу его использовать.