#windows #installation #wix
#Windows #установка #wix
Вопрос:
Можно ли как-нибудь встроить usercontrol в установщик WIX?
Мы пытаемся заменить установщик InstallShield установщиком WIX, однако есть пара задействованных пользовательских элементов управления, которые внедряет установщик InstallShield, которые было бы проще использовать повторно, чем повторно внедрять.
Ответ №1:
Насколько я знаю, невозможно встроить пользовательские элементы управления в установщики Wix. Это потому, что Wix просто выводит стандартный MSI-файл установщика Windows, который поддерживает только ограниченные типы элементов управления.
С учетом сказанного, возможно, вам захочется обратить внимание на Burn, новинку в наборе инструментов Wix, ожидаемую в конце этого года, которая, вероятно, будет включать поддержку пользовательских интерфейсов поверх установщиков Windows.
Ответ №2:
Ничто не мешает вам создать пользовательское действие, отображающее форму, и запустить это пользовательское действие при нажатии кнопки.
Я с большим успехом использовал этот подход для реализации «элементов управления выбора». Например, у вас есть текстовое поле с кнопкой рядом с ним, и при нажатии на кнопку отображается стандартное диалоговое окно AD «найти пользователя».
Или создайте форму, которая использует SMO для перечисления всех SQL-серверов в сети и позволяет пользователю выбрать один (а затем перечислить базы данных на сервере, чтобы они могли выбрать).
Таким образом, вы могли бы создать пользовательское действие, отображающее форму, а затем разместить свой пользовательский элемент управления в форме.
При этом, я с большим нетерпением жду выхода Burn.
Ответ №3:
Пока вы можете ждать записи (как упоминалось в других ответах), вы также можете проверить мою программу под названием SharpSetup — она позволяет вам создавать логику установки с использованием WiX (файлы, папки, записи реестра и т.д.), Но создавать весь пользовательский интерфейс с использованием WinForms. Это дает вам большую гибкость в том, какие элементы управления вы можете использовать (в основном все, что у вас есть на панели инструментов VS), включая пользовательские пользовательские элементы управления.