Добавить страницы в установщик -Wix Toolset - PullRequest
2 голосов
/ 10 апреля 2020

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

Но сейчас я ищу, как добавить дополнительная страница, которая запускается перед установкой, и проверьте, есть ли на компьютере необходимые программы для установки приложения. Я хотел бы присоединить свой готовый код к c #, чтобы проверить, установлены ли эти программы на данном компьютере.

Используя этот учебник: https://www.youtube.com/watch?v=6Yf-eDsRrnM&t=7195s Я создал основ c версия установщика. В этом руководстве мы создаем установщик с помощью WixUI_Minimal.

. Я просмотрел документацию и написано, что вы можете создавать свои собственные страницы, но я нигде не могу их найти. Например, https://wixtoolset.org/documentation/manual/v3/wixui/ настраивает встроенные диалоговые наборы WixUI, но они не показывают, как это сделать.

Ответы [ 3 ]

2 голосов
/ 13 апреля 2020

Обновление от 21 апреля 2020 года

Я создал публикацию c GitHub Gist , которая объясняет шаги и даже включает настраиваемый диалог PrerequisitesDlg.wxs со значением до 5 Предпосылки, которые можно настроить как Свойства WiX (текст и условие). Вся последовательность завернута в WixUI_KargWareFeatureTree.wxs.

Я надеюсь, что GIST поможет вам решить вашу проблему, и вы сможете принять мой ответ.

Текст до 20 апреля 2020 года

Вам нужен элемент Документация по элементу UIRef, Wix Toolset v3 .

Wix Toolset - проект с открытым исходным кодом, поэтому вы можете просмотреть его на GitHub, Wix Toolset v3 .

Здесь перечислены диалоговые окна, встроенные в Wix Toolset, Исходный код стандартных диалоговых окон Wix ToolSet . Я бы использовал WixUI_Advanced, но вы можете выбрать все остальные или начать с нуля.

  1. Загрузите WixUI_Advanced.wxs с GitHub
  2. Скопируйте файл wxs в root вашего msi-проекта (где * .wixproj) os) и назовите его, например, MyWixToolsetPages.wxs
  3. Отредактируйте name элемента пользовательского интерфейса xml внутри MyWixToolsetPages.wxs (рядом со строкой 50)
  4. Добавьте MyWixToolsetPages.wxs к вашему wixproject
  5. Замените или добавьте ссылочный элемент UIRef в product.wxs на <UIRef Id="WixUI_MyWixToolsetPages"/>
  6. Добавьте ваш новый диалог как <DialogRef Id="myNewPage" />
  7. Настройте заказ страниц с Control Next / Back и Event NewDialog
  8. Будьте внимательны, чтобы проверить свою последовательность в обоих направлениях (следующий, следующий, следующий, конец) и (конец, назад, назад, назад)

Измените <UI Id="WixUI_Advanced"> на <UI Id="WixUI_MyWixToolsetPages"> внутри вашего MyWixToolsetPages.wxs (скопировано из оригинала WixUI_Advanced.wxs)

...
<UI Id="WixUI_MyWixToolsetPages">
...

Замените UIRef внутри product.wxs

...
<UIRef Id="WixUI_MyWixToolsetPages"/>
...
1 голос
/ 13 апреля 2020

У меня есть инструмент разработки wix с открытым исходным кодом, который позволяет вам сделать это, раскомментировав одну строку XML. Хитрость заключается в том, чтобы вставить дополнительные строки в таблицу ControlEvent, что приведет к переопределению существующих путей.

https://github.com/iswix-llc/iswix/blob/master/Application/IsWiXNewAddIn/MSISolutionTemplate/SetupProjectTemplate/UI.wxs

https://github.com/iswix-llc/iswix/blob/master/Application/IsWiXNewAddIn/MSISolutionTemplate/SetupProjectTemplate/UI-CustomDialog.wxs

1 голос
/ 11 апреля 2020

Общая рекомендация : как правило, на данный момент это анти-паттерн - делать слишком много с вашей настройкой GUI. В частности, лучше выполнить настройку для каждого пользователя как часть запуска приложения.

Полезное правило : Вы должны ограничить setup- GUI подлинным общие настройки, которые должны быть записаны с правами администратора или с повышенными правами на расположение компьютеров (недоступно для обычных пользователей) Установите все остальное от запуска приложения. Это также может помочь персоналу QA в его тестировании.

Burn : Burn - создатель набора инструментов WiX setup.exe. Это конструкция bootstrapper, chainer, downloader, installer, etc.... Сэмплер Hello-Burn здесь . И около замена по умолчанию Burn GUI.


WiX MSI GUI: у меня есть минимальный c пример того, как изменить установщик MSI GUI: https://github.com/glytzhkof/all/tree/master/WiXCustomDialog ( zip-версия здесь ). Это GUI, встроенный в ваш фактический MSI. Есть и другие возможности с GUI.

GUI: вы можете заменить GUI внутри каждого MSI на GUI из Burn setup.exe. Здесь есть некоторые детали . Это GUI вы можете реализовать как обычный исполняемый файл со всеми наворотами, что позволяет. MSI GUI является рудиментарным и старым. Здесь есть другой ответ о том, как изменить установщик GUI.

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