WiX GUI : Никогда не видел это честно, и я бы не советовал. Некоторые MSI-файлы вообще не имеют графического интерфейса, а затем устанавливаются без графического интерфейса - очевидно. Я полагаю, что это один из вариантов, который является неприемлемым.
Условие : я быстро осмотрел, и кондиционирование записи WelcomeDlg
в InstallUISequence
может работать, хотя Я нахожу это очень странным дизайном:
- Используйте Orca и добавьте это условие к
WelcomeDlg
: (NOT Installed OR PATCH) AND (NOT SILENT=1)
- Также добавьте запись в
Property table
; SILENT=0
, чтобы избежать режима тишины в качестве режима запуска по умолчанию
Теперь вы можете попробовать дважды щелкнуть MSI, и вы увидите диалоги. Если вы используете приведенную ниже командную строку, диалоговых окон не должно быть, но вы увидите индикатор выполнения и получите запрос на повышение прав UAC:
msiexec.exe /i MySetup.msi SILENT=1
Фрагмент WiX : вот разметка, которую вы можете попробовать использовать. Никаких гарантий! :-). Я могу заменить на полный "маленький работоспособный" образец, если
запрошено - ниже как раз то, что вы можете «проскочить» в рабочий
настроить. Вам также необходимо изменить режимы обслуживания / диалоговые окна удаления, если вы хотите, чтобы удаление, изменение и восстановление были беззвучными. Делать модификации беззвучного типа не имеет смысла.
Пожалуйста, помните, что разметка является "взломать" и не была полностью
протестировано во всех режимах установки: install
, modify
,
repair
, self-repair
, patch
, resume suspended
, uninstall
, major upgrade uninstall
, etc...
- пожалуйста, проверьте соответственно - всегда есть сюрпризы:
<..>
<Property Id="SILENT" Value="0" />
<UIRef Id="WixUI_Mondo" />
<..>
<InstallUISequence>
<Show Dialog="WelcomeDlg" After="ResumeDlg">(NOT Installed OR PATCH) AND (NOT SILENT=1)</Show>
<Show Dialog="ExitDialog" OnExit="success">(NOT SILENT=1)</Show>
</InstallUISequence>
<..>
Примечание! Подобные конструкции в реальной жизни имеют неприятные последствия. Внезапно вы видите проблему, которую вы никогда не ожидали в каком-то непонятном режиме установки (приостановленное возобновление, исправление, изменение или подобное). Если вы хотите использовать это, убедитесь, что вы тестируете хорошо.
Обратите внимание, что есть другие диалоги - такие как изменение и восстановление (диалоги режима обслуживания) - которые все еще будут отображаться. Вы также должны их обусловить, если хотите, чтобы они вели себя по-другому (и, возможно, сохраните свойство SILENT
, чтобы определить, хотите ли вы подавлять диалоги или нет).