How to avoid uninstalling previously installed Exe

2019-07-27 07:54发布

问题:

I have a Bundle that installs and uninstalls VC 2012 redist. Its working fine if there was no VC 2012 redist installed previously. if there is a VC 2012 redist already installed, then while uninstalling my bundle, it uninstalls the VC 2012 redist as well. All I want is that it must not uninstall the VC 2012 redist if it was previously installed. I was trying to use the variable element with persisted attribute set to "yes". But I am not sure how it works. any pointers to this is greatly appreciated.

回答1:

Bundles can reference count contained packages. Add a Provides element from the WixDependencyExtension and the Bundles that use the same Provides element will correct reference count.

Unfortunately, VCRedist doesn't document a standard Provides key so there is no real way to correctly reference count the package. Thus, the VCRedist team expects you to mark it Permanent.



回答2:

Are you using the ExePackage element to install the redist?

If so, there is a "Permanent" element that you can set to prevent it from being uninstalled when the bundle is removed.