Search code examples
visual-studio-2010wixburnwindows-installer

Passing commandline arguments to MsiPackage


The Visual Studio Installer technology creates a bootstrapper which can take arguments (eg: /q) and pass it to the Msi.

I have a custom bootstrapper in WiX which has some ExePackages and one MsiPackages.

When I pass the argument in WiX to the custom bootstrapper the custom UI is shown.

How can I pass the argument directly to the MsiPackage assuming the ExePackages are already installed?


Solution

  • I dont know if I understand your question properly, but anyways in the default bootstrapper this is how we pass the arguments from command line:

    <Wix>
      <Bundle> 
        <Variable Name="CommandLineArgument" bal:Overridable="yes"/>
        <Chain>
          <MsiPackage>
            <MsiProperty Name="CommandLineArgument" Value="[CommandLineArgument]"/>
          </MsiPackage>
        </Chain>
      </Bundle>
    </Wix>
    

    Make a note of the BAL:Overridable. That's how I was able to make sure that we can pass the property value from command line.