私は4つのMSIを持つwixバンドルを持っています - バージョン1.0.0とバンドルバージョンは1.0.0です。私はこれをWindowsマシンにインストールし、ARPではWiXバンドルを1.0.0と見ています。wixバンドルのみインストールが変更されましたmsi
MSIのうちの1つ(Bなど)に変更を加え、バンドルバージョンを1.1.0に変更し、変更したMSI(B)バージョンを1.1.0に変更しました。残りのMSI(A、C、D)はまだ1.0.0です。
これで、バンドルをもう一度実行すると、A、C、Dのインストールはスキップされ、Bのみがアップグレードされ、バンドルもARPのバージョン1.1.0で更新されることが予想されます。しかし、私が見ているのは、すべてのパッケージ(A、B、C、D)のインストールがBだけでなく行われるということです。
私の期待は間違っていますか、
は、これは私が私のバンドルコード
<Chain>
<MsiPackage Id=“A"
Cache="no”
Vital=“yes"
EnableFeatureSelection="no"
Permanent="no" Visible="no"
ForcePerMachine=“yes”
SourceFile = “<>”/>
<MsiPackage Id=“B"
Cache="no”
Vital=“yes"
EnableFeatureSelection="no"
Permanent="no" Visible="no"
ForcePerMachine=“yes”
SourceFile = “<>”/>
</Chain>
に持っているものであり、これは、私は、個々のMSIのための私のWXSに持っているものです。 MSI Bのバージョンを1.1.0に変更し、アップグレードコードを同じにしておきます。
<Product Id="*" UpgradeCode="<GUID which is same across installations>"
Version="1.0.0" />
<MajorUpgrade DowngradeErrorMessage="New version is present."
私は多くのスレッドを検索しましたが、一般的にはすべてのMSIのアップグレードについて話しました。何か不明な点がありましたらお知らせください。事前にお手伝いいただきありがとうございます。
また、そのツールをまだ使用していない場合は、MicrosoftからOrca.exeを使用してMSIを検査することもできます。 –
または、MSIの比較機能を持つinstedit。 –
@ArkadySitnitskyとBrianSutherlandのコメントに感謝します。私はAllowSameVersionUpgradesでyesとnoを試してみましたが、どちらの場合もすべてのMSIがインストールされます。私が望むのは、バージョンが同じであればインストーラはモジュールをスキップし、バージョンが大きい場合にのみインストールしますが、これは起こっていません。 – randomuser15995183