Определите, запускается ли MsiExec с параметром /passive

У меня есть проект установки, который я унаследовал, который использует метод ProjectInstaller AfterInstall для отображения настраиваемой формы, предлагая пользователю ввести параметры конфигурации, которые затем сохраняются в файле app.config.

Есть ли способ определить, какие флаги были переданы в MSIExec, чтобы мы могли подавить эту форму, если, например, был использован /passive?

Затем мы установим на сервер пользовательский файл app.config после установки.

1 ответ

Решение

Использование UILevel свойство, определяющее, на каком уровне пользовательского интерфейса запускается установщик.

Выдержка из определения уровня пользовательского интерфейса из пользовательского действия:

настраиваемое действие, имеющее диалоговое окно, должно отображать диалоговое окно, только когда уровень пользовательского интерфейса имеет полный пользовательский интерфейс или сокращенный пользовательский интерфейс, оно не должно отображать диалоговое окно, если уровень пользовательского интерфейса имеет базовый пользовательский интерфейс или отсутствует. Вы должны использовать UILevel свойство для определения текущего уровня пользовательского интерфейса.

Из описания /passive вариант:

Эквивалентный параметр командной строки установщика Windows: /qb!- с REBOOTPROMPT=S установить в командной строке.

Это означает, что установщик запускается с базовым интерфейсом, без отображения модальных диалогов (-), со скрытой кнопкой Отмена (!).

Другие вопросы по тегам