3

I want to release setup.msi output of Setup Project and setup.exe output of Setup.BootStrapper Project that burns the Setup.msi. As I want to release both(setup.msi & setup.exe) So, The order of installation is unpredictable. If the user installs the setup.exe first and then setup.msi it works fine. It gives the "Remove" and "Repair" options. but If msi is installed first and then uses exe then It installs setup.exe too. So, It shows two setups in ARP. How can I sort out this problem?

AArora
  • 185
  • 2
  • 9
  • 1
    "I want to release setup.msi and setup.exe" - Why? – Tom W Jul 30 '12 at 10:37
  • Just use a tool like Inno Setup. The Winows Installer feature in Visual Studio is being remove in Visual Studio 2012. – Security Hound Jul 30 '12 at 11:09
  • 4
    @Ramhound - Windows Installer isn't a feature of Visual Studio it's part of the Windows Platform SDK. What you are talking about is Visual Studio Deployment Projects. That's a Visual Studio feature that authors Windows Installer databases. They are being removed because they do such a horrible job of authoring proper MSI databases. The poster isn't using this tool and it shocks me that you dare reccomend a tool and not have even a basic understanding of the space. – Christopher Painter Jul 30 '12 at 11:59

2 Answers2

1

Seeing 2 entries in ARP indicates that the MSI and EXE have different ProductCode values. You probably set the Product@Id attribute to *. Normally this is correct but in your scenario it's not. The MSI and EXE probably also have different PackageCode values. (Package@Id )

Two solutions:

1) Build the EXE and then use a postbuild event to extract the MSI

2) Build the EXE and MSI twice but put the GUID generation into your build automation and pass it into the WiX build as variables that way they both get the same values.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100
0

Put this statement in your MSI project, this will prevent MSI form creating ICON in ARP.

<Property Id="ARPSYSTEMCOMPONENT" Value="1" />
jaczjill
  • 334
  • 9
  • 25
  • 1
    I haven't tested, but this sounds like it would break the case where the poster's end-user installs only MSI version; in this MSI-only case, there should be an ARP icon. Also, perhaps this answer prevents any icon from appearing in ARP, preventing uninstall of product? – Carl G Nov 03 '12 at 09:20