8

バージョン(5.0.0.0)の4つのサードパーティMSIをインストールするWIX_bundle(V1.0.0.0)があります。これで、サード パーティの MSI の新しいバージョンが更新されました (6.0.0.0)。(v2.0.0.0) を使用して WIX_Bundle の新しいバージョンを作成しましたが、両方の WIX バンドルに同じアップグレード コードが含まれています。私が望んでいるのは、WIX_Bundle の新しいバージョンが以前のバージョン (v1.0.0.0 と 4 つの MSI) をアンインストールし、新しいバージョン (v2.0.0.0 と新しい 4 つの MSI) をインストールすることです。

しかし、WIX_BUndle V2.0.0.0 をインストールしようとすると、新しいバージョンのインストールが試行され、以前のバージョンのアンインストールが行われません。ここで何か不足していますか?

RelatedBundle Action="Upgrade" Id="$(var.UpgradeCode)" も追加しました。しかし、何もうまくいかないのですか?

新しいバージョンがインストールされる前にアンインストールが行われるという私の期待は正しいですか? アップグレードがあるかどうかに関係なく、以前の 4 つの MSI をアンインストールしてから、新しい WIX_Bundle (v2.0.0.0) に新しいバージョンをインストールします。これを強制できますか?

4

1 に答える 1

6

私は間違っていた。WIX バンドルは、バンドル レベルと内部 MSI レベルの両方でアップグレードを処理します。だからすべてが良いです。v1.0.0.0 から v2.0.0.0 に移行すると、4 つの MSI すべての 5.0.0.0 がアンインストールされ、6.0.0.0 バージョンが正しくインストールされます (MSI がアップグレードされることになっている場合)。

于 2012-11-19T18:53:13.153 に答える