Как Вы обнаруживаете, что установка работает в "тихом" режиме?
У меня есть пользовательское приложение, что я добавил проект установки .msi. Я выполняю .msi файл с переключателем/qb, и в моем пользовательском установщике c# код, я хотел бы смочь обнаружить это.
Править: nobugs говорит для тестирования свойства UILevel. Как я получаю доступ к свойству UILevel от класса, полученного из Системы. Конфигурация. Установка. Класс установщика?
Пользуясь подсказкой nobugz, я сделал следующее:
В представлении Custom Actions проекта . msi setup project, я добавил следующее в CustomActionData (чтобы передать UILevel моему пользовательскому инсталлятору):
/UILevel="[UILevel]"
В коде C# для кода, производного от базового класса Installer, я добавил код для получения значения:
string uiLevelString = Context.Parameters["UILevel"];
Затем было просто разобрать строку для получения значения int. Если значение <= 3, то это тихая установка.
Во-первых, я хотел бы отметить, что InstallUtil - очень плохой шаблон. У них заканчивается процесс, они татуируют процесс версией CLR, а в случае сбоя вызывают модальное диалоговое окно с ошибкой 1001 даже во время автоматической установки.
Вместо этого вы должны использовать шаблон WiX DTF.
MsiGetMode (Session.Mode) ограничен во время отложенного выполнения, поэтому вам придется сериализовать и десериализовать UILevel.