6
votes

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
Did you finally solve this? I have the exact same problem. I want to install with Bootstrapper and Upgrade with msi without having two entries in ARP. Is this possible?nozzleman

1 Answers

2
votes

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.)