Настройте WixUI_Minimal в WiX 3.11 / Visual Studio 2017 - PullRequest
0 голосов
/ 10 марта 2019

Я пытаюсь настроить диалоговое окно WixUI_Minimal, установленное в WiX 3.11, с помощью Visual Studio.

Следуя инструкции здесь больше не работает, так как сообщает о множестве повторяющихся символов. Например:

Duplicate symbol 'ControlEvent:VerifyReadyDlg/Back/NewDialog/WelcomeDlg/Installed AND PATCH' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique

(Этот вопрос переполнения стека столкнулся с той же проблемой)

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

Этот вопрос и этот тоже не помог.

Кажется, что-то сломалось в Wix 3.11 / Visual Studio 2017. Кто-нибудь сумел понять, как это исправить? Я опасаюсь, что WiX теряет поддержку своих авторов ...

1 Ответ

1 голос
/ 11 марта 2019

Я не уверен, почему вы думаете, что WiX теряет поддержку. Здесь и в списке рассылки wix-пользователей предоставляется бесплатная поддержка. Они также предлагают платные варианты поддержки с SLA и исправлениями. Другие консультанты, такие как я, также предоставляют бесплатную поддержку и платную поддержку.

WiXUI - это простой в использовании стандартный набор пользовательского интерфейса с ограниченными возможностями переопределения / преобразования. Вы можете делать такие вещи, как вставка диалога в последовательность циклов мастера, но для этого необходимо понимать, как оцениваются строки в области таблицы ControlEvent.

Вы можете получить пример здесь:

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

Моя некомментируемая строка 10 заставляет его использовать этот фрагмент:

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

Строки 33-34 вставляют строки в таблицу ControlEvent, которые имеют приоритет над существующими строками на основе:

https://docs.microsoft.com/en-us/windows/desktop/msi/controlevent-table

Если это слишком ограничивает ваши потребности, вы можете не использовать расширение пользовательского интерфейса и просто взять отсюда все его файлы и делать с ними все, что захотите:

https://github.com/wixtoolset/wix3/tree/develop/src/ext/UIExtension/wixlib

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

FWIW, я пишу установщики в течение 23 лет и использую MSI в течение 16 лет. Я являюсь автором проекта FOSS IsWiX, который предоставляет шаблоны и конструкторы для упрощения автоматизации большинства этих работ. Вы можете получить представление о том, как работает IsWiX здесь:

https://github.com/iswix-llc/iswix-tutorials

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

...