在没有msiexec的情况下将参数传递给msi。

时间:2014-10-02 17:09:16

标签: wix windows-installer bootstrapper

我尝试将一些参数从引导程序传递给MSI。因为我需要MSI才能显示UI,但是在基本的varitant(/ qb)中。目前我按照以下方式进行:

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

但是我不想把msiexec放在bootstrapper中并做这样的事情:

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

是否可以在没有msiexec.exe的情况下将参数传递给msi?

谢谢

1 个答案:

答案 0 :(得分:0)

我找到了以下解决方案。 我用Orca打开了setup.msi。添加了两个属性LIMITUI和ARPNOMODIFY并将它们设置为1(http://msdn.microsoft.com/en-us/library/aa369759%28v=vs.85%29.aspxhttp://fdo-workspace.blogspot.ru/2009/10/use-orca-modify-msi-add-mst-and.html

在Bundle.wxs中我有:

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

将LIMITUI设置为1类似于&#34; / qb&#34;在命令行中。