3

Bundle.wxsのバッチファイルを「ExecPackage」としてチェーンしています。バッチファイルには、パラメータ/コマンドライン引数が必要です。

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

「ExecPackage」でコマンドライン引数/パラメータを渡すにはどうすればよいですか。InstallCommand属性をこれに使用できますか?もしそうなら、誰かが私に同じことを説明するための小さな例を教えてもらえますか?

4

1 に答える 1

4

これは現在、バンドルの一部としてSqlExpress2008R2をインストールするために使用しているものです。

<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 AUTHORITY\Network Service&quot; /SQLSYSADMINACCOUNTS=&quot;BUILTIN\ADMINISTRATORS&quot; /AGTSVCACCOUNT=&quot;NT AUTHORITY\Network Service&quot; /SECURITYMODE=SQL /SAPWD=&quot;[SqlAdminUserPassword]&quot;"
            Name="redist\SQLEXPR_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])は、コマンドラインでバンドルexeに提供できるバンドル変数によって提供されます。

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

重要な属性に注意してください。bal:Overridable="yes"これは、バンドルコマンドラインを介して設定できることを意味します。これがないと、内部変数になります(たとえば、レジ​​ストリ検索によって設定されます)。

于 2013-02-26T13:17:02.950 に答える