如何将参数从exe文件传递给msi?

时间:2014-03-14 05:50:36

标签: wix bootstrapper msiexec

我使用bootstrapper创建了一个exe。而现在我希望我的安装保持沉默。 我可以使用msi文件在以下命令的帮助下以静默模式安装它。

 msiexec /i Setup.msi /qn ADDLOCAL=freature

但我想以静默方式安装mysetup.exe。如何从bootstrapper将参数传递给msi,以便安装处于静默模式。 我已经瞪了几个小时,但我无法弄明白。

2 个答案:

答案 0 :(得分:2)

您需要在Burn引导程序中定义变量。使用您的示例,您需要以下内容:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="Setup" Version="1.0.0.0" UpgradeCode="YOUR-GUID">

    <Variable Name="ADDLOCAL" bal:Overridable="yes"/>

    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
        <bal:WixStandardBootstrapperApplication />
    </BootstrapperApplicationRef>

    <Chain>
        <MsiPackage DisplayName="Setup" Name="Setup.msi" SourceFile="Setup.msi">
            <MsiProperty Name="ADDLOCAL" Value="[ADDLOCAL]" />
        </MsiPackage>
    </Chain>
</Bundle>
</Wix>

现在您可以运行Setup.exe -q ADDLOCAL=feature并且.msi将传递该变量。

答案 1 :(得分:1)

Wix标准自举程序仅支持这些标准软件包交换机 - &gt;
-q,-quiet,-s,-silent =静默安装
-passive =进度条仅安装
-norestart =禁止任何重启
-forcerestart =重启无论如何(我不知道为什么这仍然是 左右)
-promptrestart =如果需要重启则提示(默认)
-layout =创建引导程序的本地映像(即下载文件) 他们可以被烧成DVD) -l,-log =登录到特定文件(默认由bundle开发人员控制) -uninstall = uninstall
-repair =修理(如果没有安装则安装)
-package,-update = install(默认情况下,如果没有-uninstall或-repair)
Reference