0

I'm trying pass some parameters to an MSI from bootstrapper. Because I need MSI be able to display UI, but in basic varitant (/qb). At the moment I'm doing it the following way:

<ExePackage Id="Drv" DisplayName="Drv" SourceFile="..\redist\msiexec.exe" InstallCommand="/i setup.msi /qb>
  <Payload SourceFile="setup.msi"/>
</ExePackage>

But I'd like not to take msiexec inside bootstrapper and do something like this:

<MsiPackage Id="Drv" SourceFile="setup.msi" DisplayInternalUI="yes">
  <MsiProperty Name="CommandLineArg" Value="/qb"/>
</MsiPackage>

Is it possible to pass parameters to a msi without msiexec.exe?

Thanks

bilboquet
  • 31
  • 7
  • What problem are you trying to solve? Showing UI is nothing to do with passing parameters, so maybe you have an incorrect assumption about the way some of this works? You can still pass properties on the command line even if it's a silent-ish install. – PhilDW Oct 02 '14 at 19:33
  • Thanks for comment. The problem is, when I use with DisplayInternalUI set to "yes", I get full UI. While I need basic UI, as if I run "setup.msi /qb" or "msiexec.exe /i setup.msi /qb" from command line. So the question is, if it is possible to pass that "/qb" parameter to ? – bilboquet Oct 03 '14 at 10:13
  • If you own the MSI and don't need a full UI at all, you can use a minimal UI that's much closer to /qb. – Tom Blodget Oct 03 '14 at 18:35
  • so, what's wrong with the "and do something like this"? Are you using wix >=3.7? – Erti-Chris Eelmaa Oct 03 '14 at 19:09
  • @TomBlodget As far as I'm concerned there will be no UI shown if ShowInternalUI is set to "no", otherwise if it is set to "yes" full UI is shown. – bilboquet Oct 04 '14 at 15:26
  • @TomBlodget Unfortunatelly this MSI is not my own. – bilboquet Oct 04 '14 at 16:00
  • @ChrisEelmaa I'm using wix 3.8. Looks like CommandLineArg set to "/qb" has no effect, just as if it were set to "/qf" – bilboquet Oct 04 '14 at 16:05
  • @ChrisEelmaa I've found the solution. Thanks for comments – bilboquet Oct 13 '14 at 15:19
  • I know this isn't constructive but it seems super wacko that setup exe's don't just take the exact same set of arguments as msi's. Anyone know why they're even slightly different? – Russell Horwood Sep 28 '16 at 14:46

1 Answers1

0

I found the following solution. I opened the setup.msi with Orca. Added two properties LIMITUI and ARPNOMODIFY and set them to 1 (http://msdn.microsoft.com/en-us/library/aa369759%28v=vs.85%29.aspx , http://fdo-workspace.blogspot.ru/2009/10/use-orca-modify-msi-add-mst-and.html)

In Bundle.wxs I have:

<MsiPackage Id="Drv" SourceFile="setup.msi" DisplayInternalUI="yes" SuppressSignatureVerification="yes"/>

Setting LIMITUI to 1 is similiar to "/qb" in command line.

bilboquet
  • 31
  • 7