Пользовательский интерфейс во время пользовательского действия установщика - PullRequest
1 голос
/ 24 сентября 2008

Как правильно отобразить пользовательский интерфейс во время пользовательского действия установщика?

Я бы хотел, чтобы мой пользовательский интерфейс был модальным в диалоговом окне установки, или, в качестве альтернативы, я бы хотел, чтобы в диалоге установщика отображался текст / ход выполнения моего пользовательского действия.

Установщик - это проект установки VS2005, а настраиваемое действие - класс, полученный из установщика C #.

1 Ответ

3 голосов
/ 25 сентября 2008

Для отображения любого нестандартного пользовательского интерфейса потребуются изменения объекта-обработчика пользовательского интерфейса. Это не тривиально, и реализация зависит от инструментария, который вы используете для создания своих MSI-файлов: я не уверен, что это возможно даже в проектах установки VS.

Отображение простых сообщений о состоянии / ходе выполнения и запись в журнал MSI не так уж сложно выполнить с помощью настраиваемого действия, хотя, по крайней мере, без использования набора инструментов Windows Installer XML (WiX) , который что я использую для этой цели.

При создании пользовательских действий с помощью WiX вы получаете доступ к активному сеансу установщика через объект Microsoft.Deployment.WindowsInstaller.Session, который имеет «Log» (записывает сообщение в журнал, если ведение журнала включено) и « Message '(выполняет все разрешенные операции регистрации и откладывает выполнение до объекта обработчика пользовательского интерфейса, связанного с механизмом), среди многих других полезностей.

Если вы в настоящее время уже создаете свои пользовательские действия в C #, возможно, вы сможете найти что-то похожее в вашей текущей среде (я никогда не работал с проектами установщика VS.net, поэтому я не совсем уверен, как они работа - я весьма удивлен на самом деле, что они позволяют создавать управляемые пользовательские действия ...). В противном случае, я бы определенно рекомендовал изучить WiX для пользовательских действий: они работают с любой средой разработки MSI и довольно гибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...