На что влияет элемент PatchBaseline в исправлении WiX? - PullRequest
1 голос
/ 03 июля 2010

В справочной документации WiX Использование Purely WiX для исправления, образец исправления включает в себя этот раздел:

<Media Id="5000" Cabinet="RTM.cab">
    <PatchBaseline Id="RTM"/>
</Media>

и команда для сборки патча также ссылается на 'RTM':

pyro.exe patch \ patch.wixmsp -out patch \ patch.msp -t RTM patch \ diff.wixmst

В документах говорится, что элемент PatchBaseline «Идентифицирует набор версий продукта», но мне не ясно, что это значит.

Что контролирует этот элемент, и каковы последствия его изменения или пропуска?

Ответы [ 2 ]

2 голосов
/ 11 июля 2010

Этот элемент менее интересен, чем его дочерний элемент: Validate.Взгляните на атрибуты Validate, и вы увидите различные способы нацеливания продуктов с помощью патча.Из примечаний:

Преобразование содержит различия между целевым продуктом и обновленным продуктом.Когда применяется преобразование или исправление (которое содержит преобразования), следующие свойства установленного продукта проверяются по свойствам целевого продукта, сохраненного в преобразовании.

  • ProductCode
  • ProductLanguage
  • ProductVersion
  • UpgradeCode

Установщик Windows просто проверяет, что ProductCode, ProductLanguage и UpgradeCode установленного продукта эквивалентны свойствам целевого продукта.используется для создания преобразования;однако ProductVersion может быть проверен с более широким диапазоном сравнений.

Вы можете сравнить до первых трех полей ProductVersion.Изменения в четвертом поле не проверены и полезны для небольших обновлений.Вы также можете выбрать способ сравнения целевого ProductVersion, использованного для создания преобразования, с установленным ProductVersion.Например, хотя рекомендуется использовать значение по умолчанию «Равно», если вы хотите, чтобы незначительное обновление было применено к целевому ProductVersion и всем более старым продуктам с тем же ProductCode, вы бы использовали «LesserOrEqual».

0 голосов
/ 15 сентября 2010

Я также смущен этим - я думаю, что базовой линией будет версия n-1?И все же RTM не упоминается при создании первого MSI?

, если бы у вас было три версии (v1, v2 и v3) - что будет PatchBaseline для каждой версии?

...