Вы должны использовать элемент EmbeddedUI , чтобы указать файл, в котором у вас есть пользовательский интерфейс.
Пример (где пользовательский интерфейс находится внутри библиотеки DLL):
<UI>
<EmbeddedUI Id="EmbeddedUI.dll" SourceFile="..\EmbeddedUI\EmbeddedUI.dll"/>
</UI>
После того, как вы это сделаете, вам придется предоставлять диалоговые окна для каждого действия, поскольку ни одна из стандартных акций больше не будет работать.
Об удалении, если я правильно помню пользовательский интерфейсбудет отображаться только в процессе восстановления, так что вы можете вызвать восстановление вместо удаления, чтобы показать пользовательский интерфейс и удалить его оттуда.Процесс деинсталляции напрямую должен удалить приложение с пользовательским интерфейсом по умолчанию (индикатор выполнения с удалением)
В соответствии с MSDN: " DLL пользовательского интерфейса, в данном примере embedui.dll, должен экспортировать пользовательский интерфейсФункции InitializeEmbeddedUI, EmbeddedUIHandler и ShutdownEmbeddedUI."
Подробнее см. Здесь .