如何将参数传递到WiX的Bundle.wxs中的ExecPackage



我正在Bundle.wxs中将一个批处理文件链接为"ExecPackage"。批处理文件需要一个参数/命令行参数。

<ExePackage Id="Test" SourceFile="D:TestBatch.bat" Vital="yes" InstallCondition="SelectedDBSize = 24" InstallCommand=""/>

如何在"ExecPackage"中传递命令行参数/参数。InstallCommand属性可以用于此吗?如果是的话,有人能给我举一个小例子来说明这一点吗?

这是我目前用来安装SqlExpress 2008 R2的软件包的一部分:

<ExePackage Id="SqlExpress2008R2"
            Cache="no"
            Compressed="no"
            PerMachine="yes"
            Permanent="no"
            Vital="yes"
            InstallCommand="/QS /ACTION=Install /IACCEPTSQLSERVERLICENSETERMS /BROWSERSVCSTARTUPTYPE=Automatic /SQLSVCSTARTUPTYPE=Automatic /FEATURES=SQL /INSTANCENAME=[SqlInstance] /SQLSVCACCOUNT=&quot;NT AUTHORITYNetwork Service&quot; /SQLSYSADMINACCOUNTS=&quot;BUILTINADMINISTRATORS&quot; /AGTSVCACCOUNT=&quot;NT AUTHORITYNetwork Service&quot; /SECURITYMODE=SQL /SAPWD=&quot;[SqlAdminUserPassword]&quot;"
            Name="redistSQLEXPR_x86_ENU.exe"
            DownloadUrl="http://download.microsoft.com/download/D/1/8/D1869DEC-2638-4854-81B7-0F37455F35EA/SQLEXPR_x86_ENU.exe"
            InstallCondition="NOT SQLServer2008R2Installed AND NOT SQLServerInstalled">
    <RemotePayload ProductName="SQL Server 2008 R2 Express SP1"
                   Description="SQL Server 2008 R2 Express SP1" 
                   CertificatePublicKey="5C499B10F7EF186DC729991A262AB52066423909" 
                   CertificateThumbprint="93859EBF98AFDEB488CCFA263899640E81BC49F1" 
                   Hash="6F399D641F322A3E47E3DD605F2A2EDF21074375"  
                   Size="111274848" 
                   Version="10.50.2500.0" />
  </ExePackage>

用方括号包围的InstallCommand属性中的部分(例如[SqlInstance](由可以在命令行上提供给bundle exe的bundle变量提供:

<Variable Name="SqlInstance"
          Value="SQLEXPRESS"
          bal:Overridable="yes" />

注意重要的属性bal:Overridable="yes",这意味着它可以通过bundle命令行设置,如果没有它,它将只是一个内部变量(例如,通过注册表搜索设置(。

相关内容

  • 没有找到相关文章

最新更新