バンドルは3つあり、コードは以下の通りです。 1.0.0,1.0.0.1,2.0.0。WiXバンドル:バンドル2.0.0がインストールされている場合、1.0.0用のパッチはプログラムと機能から削除されません。
1.0.0,1.0.0.1,2.0.0がインストールされている場合、インストールされている更新プログラムのビューには、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>
、以前のすべてのバージョンおよびパッチは、プログラムと機能から上場廃止及び/またはインストール済みアップデートを表示しなければなりません。 MSI/MSPがBundler経由ではなく直接インストールされている場合とまったく同じです。
これは、MSIパッケージを元のバージョンにダウングレードしないでください。あなたもこれを仕事にもらえましたか? –
@ChristopherPainterはい、それは私のために働いた。 WiXの作者が使用される方法ではないことを示すため、このWiXの使用を中止しました。他にも解決できない問題が数多くあったため、彼はそれを強く強く抱き、私たちは必要性を別の方法で解決しました。 – RobG