Wix Bootstrapper如何卸载已升级的MSI软件包 [英] How Wix bootstrapper uninstall msi package that has been upgraded
问题描述
我已经使用Wix 3.8版本创建了一个包含2个msi(A和B)的wix引导程序,并将其安装到客户端计算机中.
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.
然后,我已将B.msi版本更新为1.0.0.1或1.0.1.0(因为某些dll正在更新),并且也仅将B.msi安装启动到同一客户端计算机上.
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.
但是,当我尝试卸载wix bootstrapper时,它能够卸载A.msi,但B.msi仍在那儿,因为它正在升级.
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.
推荐答案
WiX捆绑包安装了程序包管理器. (该引擎称为刻录".)软件包管理器跟踪哪些捆绑软件需要哪些软件包的哪个版本.看来您已将MSI B更新为高于捆绑软件所需的版本.因此,在卸载捆绑软件时,burn会发现B所需的不仅仅是那个捆绑软件,所以它离开了它.
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.
立即的解决方案是自己卸载B.
The immediate solution is to uninstall B yourself.
长期解决方案是始终将A和B安装在燃烧状态.如果更新A或B,请构建更新的捆绑包.如果出于其他原因需要A或B,请构建其他捆绑包.
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 Bootstrapper如何卸载已升级的MSI软件包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!