Pass parameters from bootstrapper to msi bundle package

.net, installation, visual-studio, wix, wix3.6

Solution

That is currently not available in the standard bootstrapper: WixStdBa doesn't make the commandline properties available - ID: 3489809

You can implement such functionality if you create your own bootstrapper application.

EDIT: Although you can't pass the parameters to your bootstrapper via command line, you can still collect the information in your bootstrapper various ways:

ex: Setting a variable

<Variable Name="PARAM1" Value="SomeValue" Persisted="yes" Type="string" />

ex: Searching registry

<util:RegistrySearch Root="HKLM" Key="Software\SomeProduct" Value="SomeKey" Variable="PARAM1" Result="value"/>

Problem

I'm using VS2010 and WiX 3.6 to create MSI packages and bundle them into Bootstrapper setup. Here's my Boostrapper code. ``` <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Bundle Name="" Version="" Manufacturer="" UpgradeCode=""> <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> <Chain> <MsiPackage SourceFile="Package1.msi"> <MsiProperty Name="PARAM1" Value="[PARAM1]" /> <MsiProperty Name="PARAM2" Value="[PARAM2]" /> </MsiPackage> <MsiPackage SourceFile="Package2.msi"> <MsiProperty Name="PARAM1" Value="[PARAM1]" /> <MsiProperty Name="PARAM2" Value="[PARAM2]" /> </MsiPackage> </Chain> </Bundle> </Wix> ``` The MSI packages must have the parameters specified in order to run. Normally, I would call `"Packag21.msi PARAM1=1 PARAM2=2"`. After I build the project, I try to pass the parameters to my Bootstrapper.exe in the same manner `Bootstrapper.exe PARAM1=1 PARAM2=2`, but it doesn't seem to pass them to the MSI. Installations hang with the missing parameters condition. Is there a way to pass the parameters from the exe to the msi?

Original source