создание патчей с WIX - базовая версия 3 от версии 1 или версии 2? - PullRequest
2 голосов
/ 29 июля 2010

Я делаю пакеты «незначительного обновления» с использованием WIX. Я в замешательстве, когда дело доходит до базирования пакетов обновления.

Когда я генерирую патч, я всегда основываюсь на версии 1, или я делаю версию 3 на версии 2?

короче, у меня проблемы с пониманием

<UpgradeImage SourceFile="$(var.ProjNew)" Id="Upgrade1_$(var.NewID)">
    <TargetImage SourceFile="$(var.ProjOld)" Order="2" Id="Target1_$(var.NewID)" IgnoreMissingFiles="no" />
</UpgradeImage>

ProjNew должен указывать на новый MSI, на что должен указывать ProjOld? первый MSI или n-1 MSI?

Может ли кто-нибудь помочь мне понять, что происходит и как это сделать правильно? В идеале тот, кто работает с версией 1, когда выйдет версия 3, может просто получить один пакет обновлений, и это заставляет меня поверить, что я всегда должен опираться на версию 1. Но если я это сделаю, что произойдет, если у кого-то установлена ​​версия 2? они тосты?

Я думаю, что суть моего вопроса в том, что я построил три версии 1, 2 и 3. Предположим, каждая из них основана на версии 1. Если кто-то устанавливает версию 1, а затем версию 2. Затем они получают исправление версии 3, что случится? msiexec удалит патч 2, а затем применит патч 3? имейте в виду, что патч 3 основан на версии 1.

1 Ответ

4 голосов
/ 03 августа 2010

Во-первых, если вы абсолютно не должны использовать WiX v2, не используйте элемент PatchCreation. Переключитесь на использование элемента Patch WiX v3. Это гораздо проще в использовании, более мощный и имеет гораздо лучшую проверку ошибок.

Теперь, похоже, вы хотите создать патч для нескольких продуктов. Другими словами, вам нужен один патч, который может быть нацелен на v1 и v2, чтобы превратить их в v3. Для этого вы создаете преобразование из v1 в v3 и другое преобразование из v2 в v3.

Для этого начните с чтения темы «Использование Purely WiX» в WiX.chm. Когда вы дойдете до части, которая говорит «Создайте преобразование между вашими продуктами», проделайте этот шаг дважды, чтобы создать v1tov3.wixmst и v2tov3.wixmst. Затем на шаге «Build the patch» укажите оба файла .wixmst в командной строке. Пиро позаботится обо всем остальном.

В элементе Patch есть много опций. Если вы этого не сделаете, не включайте их. Это действительно не так сложно, если следовать шаг за шагом и немного попрактиковаться.

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