How can I upgrade installer WIX bootstrapper bundl

2020-07-11 06:49发布

问题:

The situation:

I have a WIX-based bootstrapper installer, which installs my msi package and (some) prerequisites (.NET). The installer is .exe and it works ok.

Now, some clients want to install msi, especially in corporate environments where they can push it centrally.

It looks easy, just give them the msi. Again, It works ok.

Now, the problematic part.

When the application is installed from MSI, and later upgraded to newer version from .exe installer, there will be two ARP entries. And vice-versa - when the application is installed from .exe, and later upgraded from MSI, there will be double ARP entries again.

Is there any easy/standard solution?

回答1:

To maintain the visibility as Bundle: visible, MSI: not visible, you can either:

  • Install the upgrade the same way that the bundle does, passing ARPSYSTEMCOMPONENT=1 to msiexec, or
  • Change your MSI Product so that it defaults to not visible: <Property Id="ARPSYSTEMCOMPONENT" Value="1" />

(In your bundle, MsiPackage/@Visible seems to effectively be "no", which is the default.)