WiX: показать элемент диалога пользовательского интерфейса после InstallFinalize

Я хотел бы показать сообщение о завершении установки после завершения установки. Но я считаю, что последняя точка для отображения диалогового окна во время установки - это <Show Dialog="ExitDialog" OnExit="success"/>. Проблема с этим решением заключается в том, что на этом этапе установка еще не завершена. Пользователь должен нажать кнопку «Завершить». Это особенно проблема, когда процесс был отменен RestartManager. Этот процесс будет перезапущен после того, как пользователь нажмет кнопку «Готово». Если он забудет нажать эту кнопку, его система окажется в нежелательном для меня состоянии.

Есть ли возможность запланировать диалоговое окно после установки, например, внутри InstallExecuteSequence с: After="InstallFinalize". Можно ли вызвать диалоговое окно после того, как установка действительно завершена?

Это дополнительный вопрос от: WiX: как немедленно перезапустить explorer.exe?


person Trafo    schedule 24.02.2020    source источник


Ответы (1)


Варианта нет. Потому что все элементы графического интерфейса являются частью установки MSI. И обычно установка должна быть завершена, когда отображается EndDialog. В моем особом случае util:RestartResource Wix перезапускал все процессы в момент закрытия MSI. Из-за этого это было после всех элементов GUI.

Единственный способ, которым это могло бы работать, - это реализовать CustomAction, который сам рендерит окно. Но это не рекомендовало бы этот путь.

person Trafo    schedule 28.02.2020
comment
Можно ли показать пользовательский диалог перед InstallFinalize? Я пытаюсь ‹Show ​​Dialog = ConfigurationIIS Before = InstallFinalize› ‹/Show›, но бросаю неразрешенную ссылку на символ WixAction: InstalllUISequence / InstallFinalize 'в разделе 'Фрагмент'. - person Silny ToJa; 28.05.2020