2013-02-26 4 views
3

Bundle.wxs의 배치 파일을 "ExecPackage"로 연결합니다. 배치 파일에는 매개 변수/명령 줄 인수가 필요합니다.WiX의 Bundle.wxs에서 ExecPackage에 매개 변수를 전달하는 방법

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

"ExecPackage"에 명령 줄 인수/매개 변수를 전달하는 방법은 무엇입니까? InstallCommand 속성을이 용도로 사용할 수 있습니까? 그렇다면 누군가가 나에게 똑같은 모습을 보여주기 위해 작은 예제를 줄 수 있습니까?

답변

3

이 내 번들의 일부로 SQLEXPRESS 2008 R2를 설치하는 데 사용하는 것을 현재 : (예 : [SqlInstance])를 번들 변수에 의해 제공됩니다 사각 괄호로 둘러싸인 InstallCommand 속성에

<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> 

부품이 명령 라인 번들 EXE 공급 될 수있다 :

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

참고 중요한 특성이이 번들 명령 라인을 통해 설정 될 수 있다는 것을 의미 bal:Overridable="yes" 것은 않고 단지 내부 변수 것 (레지스트리 검색을 예로 설정).

+0

고맙습니다. – microsoftprogrammer