How Wix bootstrapper uninstall msi package that ha

2019-06-13 05:08发布

问题:

I have create a wix bootstrapper which contains 2 msi (A and B) by using Wix 3.8 version and installed into the client machine.

Then I have update the B.msi version to 1.0.0.1 or 1.0.1.0 (because some dlls being updated) and only launch the B.msi install into the same client machine also.

However, when I try to uninstall the wix bootstrapper, it able to uninstall A.msi but the B.msi still at there because it being upgraded.

回答1:

A WiX bundle installs a package manager. (The engine is called "burn".) The package manager tracks which bundles need which versions of which packages. It seems you've updated MSI B to a version above what the bundle needs. So, when uninstalling the bundle, burn finds that B is needed by more that just that bundle so it leaves it.

The immediate solution is to uninstall B yourself.

The long-term solution is to always install A and B with burn. If you update A or B, build an updated bundle. If A or B is needed for another reason, build a different bundle.



标签: wix wix3.8