WIX, как открыть пользовательский интерфейс - PullRequest
4 голосов
/ 31 мая 2011

У меня есть собственный интерфейс для установки (с помощью SharpSetup). Проблема в том, что, когда я дважды щелкаю файл MSI, пользовательский интерфейс не появляется => То же самое, когда я его удаляю. Чтобы увидеть пользовательский интерфейс, мне нужно дважды щелкнуть мой проект пользовательского интерфейса => gui.exe

То, что я ищу, это:

возможно ли запустить пользовательский интерфейс, когда я дважды щелкну файл MSI? если это возможно => как я могу это сделать и что мне нужно включить, чтобы пользовательский интерфейс также появлялся, если я удаляю его (добавляю / удаляю программы) ???

спасибо

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Вы должны использовать элемент EmbeddedUI , чтобы указать файл, в котором у вас есть пользовательский интерфейс.

Пример (где пользовательский интерфейс находится внутри библиотеки DLL):

<UI>
    <EmbeddedUI Id="EmbeddedUI.dll" SourceFile="..\EmbeddedUI\EmbeddedUI.dll"/>
</UI>

После того, как вы это сделаете, вам придется предоставлять диалоговые окна для каждого действия, поскольку ни одна из стандартных акций больше не будет работать.

Об удалении, если я правильно помню пользовательский интерфейсбудет отображаться только в процессе восстановления, так что вы можете вызвать восстановление вместо удаления, чтобы показать пользовательский интерфейс и удалить его оттуда.Процесс деинсталляции напрямую должен удалить приложение с пользовательским интерфейсом по умолчанию (индикатор выполнения с удалением)

В соответствии с MSDN: " DLL пользовательского интерфейса, в данном примере embedui.dll, должен экспортировать пользовательский интерфейсФункции InitializeEmbeddedUI, EmbeddedUIHandler и ShutdownEmbeddedUI."

Подробнее см. Здесь .

0 голосов
/ 22 января 2013

SharpSetup использует внешний интерфейс, а не встроенный.В типичном сценарии MSI-файл не содержит никакого пользовательского интерфейса, поэтому то, что вы наблюдаете, очень ожидаемо.Однако не следует развертывать автономный MSI-файл на клиенте, а только файл Installer.exe, содержащий все необходимые файлы (включая MSI-файл и gui.exe).

...