Существует 3 пакета, код приведен ниже. 1.0.0, 1.0.0.1 и 2.0.0.WiX Bundle: Патчи для 1.0.0 не удаляются из программ и функций при установке пакета 2.0.0.
Если установлены 1.0.0, 1.0.0.1 и 2.0.0, View Installed Updates по-прежнему будет иметь 1.0.0.1, указанный как установленный. Он останется там до тех пор, пока последняя версия не будет удалена.
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Burn Installer" Version="1.0.0" Manufacturer="LANSA" UpgradeCode="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" Copyright="..." AboutUrl="...">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MsiPackage Id="MainPackage" SourceFile="TESTLIST_v1.0.0_en-us.msi" Vital="yes" DisplayInternalUI="yes" />
</Chain>
</Bundle>
</Wix>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Patch 1.0.0.1" ParentName="Burn Installer" Version="1.0.0.1" Manufacturer="LANSA" UpgradeCode="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" Copyright="..." AboutUrl="...">
<RelatedBundle Id="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" Action="Patch"/>
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MspPackage Id="Patch" SourceFile="TESTLIST_v1.0.0.1_en-us.msp" Vital="yes" DisplayInternalUI="no" PerMachine="yes" Permanent="no"/>
</Chain>
</Bundle>
</Wix>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Burn Installer" Version="2.0.0" Manufacturer="LANSA" UpgradeCode="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" Copyright="..." AboutUrl="...">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MsiPackage Id="MainPackage" SourceFile="TESTLIST_v2.0.0_en-us.msi" Vital="yes" DisplayInternalUI="yes" />
</Chain>
</Bundle>
</Wix>
Когда Upgrade применяется, все предыдущие версии и патчи должны быть исключены из Программы и компоненты и/или установленных обновлений. Точно так же, как это происходит, когда MSI/MSP установлены напрямую, а не через Bundler.
Это работало на меня, за исключением удаления патча, не уменьшающего пакет MSI до исходной версии. Получили ли вы это и на работе? –
@ChristopherPainter Да, это сработало для меня. И мы прекратили это использование WiX, поскольку автор WiX указал, что это не то, как он должен был использоваться. Поскольку существует ряд других неразрешимых проблем, и он был сильно против этого, мы решили нашу потребность по-другому. – RobG