Определите, запускается ли MsiExec с параметром /passive
У меня есть проект установки, который я унаследовал, который использует метод ProjectInstaller AfterInstall для отображения настраиваемой формы, предлагая пользователю ввести параметры конфигурации, которые затем сохраняются в файле app.config.
Есть ли способ определить, какие флаги были переданы в MSIExec, чтобы мы могли подавить эту форму, если, например, был использован /passive?
Затем мы установим на сервер пользовательский файл app.config после установки.
1 ответ
Использование UILevel
свойство, определяющее, на каком уровне пользовательского интерфейса запускается установщик.
Выдержка из определения уровня пользовательского интерфейса из пользовательского действия:
настраиваемое действие, имеющее диалоговое окно, должно отображать диалоговое окно, только когда уровень пользовательского интерфейса имеет полный пользовательский интерфейс или сокращенный пользовательский интерфейс, оно не должно отображать диалоговое окно, если уровень пользовательского интерфейса имеет базовый пользовательский интерфейс или отсутствует. Вы должны использовать
UILevel
свойство для определения текущего уровня пользовательского интерфейса.
Из описания /passive
вариант:
Эквивалентный параметр командной строки установщика Windows:
/qb!-
сREBOOTPROMPT=S
установить в командной строке.
Это означает, что установщик запускается с базовым интерфейсом, без отображения модальных диалогов (-
), со скрытой кнопкой Отмена (!
).