2011-01-07 2 views
0

Я использую WiX (в настоящее время 3,6) для создания установки для моего приложения. Следующий шаг - создать патчи, когда что-то нужно изменить. Поскольку я использую тепло для создания автоматически компонентов для большого количества файлов, эти компоненты ссылаются с помощью ComponentGroup. К сожалению, PatchFamily позволяет использовать только ComponentRefs, а не ComponentGroupRefs. Поскольку эти компоненты генерируются автоматически, я ищу способ включить создание патча.Создайте патч с помощью WiX со многими компонентами

Как я пытался документировано здесь: Patchwork

В настоящее время я изучаю возможность использования административные монтируют и сделать различия между ними.

Кто-нибудь нашел решение?

ответ

0

Что именно вы пытаетесь сделать? Выполнить обновление приложения новыми файлами? Если у вас действительно есть достаточно изменений, которые вы используете ComponentGroupRefs, то просто стоит сделать фактическое обновление. Патчи (по крайней мере, из моего понимания) предназначены для небольших изменений в программе, а обновления - для больших изменений, влияющих на множество файлов.

+0

Создание патчей с использованием чисто WiX включает ссылки на все компоненты в patch.wxs. Затем обновление сравнивает старые и новые файлы и включает только измененные. Поскольку из тепла выделяются компоненты, я дал ComponentGroups в основном wxs - я не «знаю» компоненты, и я не могу вводить их вручную. Просто слишком много. – Sascha

+0

Независимо от того, что я предвижу проблемы с этим для вас. Патчи и обновления также работают, сравнивая GUID компонента, чтобы узнать, что установлено, а что нет. Если у вас нет доступа к старым идентификаторам GUID и просто дайте все новый GUID (по крайней мере, по моему опыту), вы закончите работу с программой (или, по крайней мере, ее частями), установленной дважды на клиентской машине. На самом деле сложно работать с установками с многочисленными файлами. Мой текущий проект содержит около 10 000 различных файлов, распространяемых более чем на 20+ MSI. Однако после первоначальной настройки это всего лишь случай обслуживания и поддержки. – Adkins

+0

Поскольку тепло производит Guid = "*" для Компонентов, именно то, что вы описываете, происходит. Я пишу свой «нагреватель», который помнит однажды назначенные Гиды. – Sascha

Смежные вопросы