2017-08-16 12 views
0

私はブートストラップを使用する必要のあるWixインストーラを持っています。私は下記のBundle.wxsの抽出物を含んだ。 Chainが表示されます。これは最初に.Net 4.5.2をインストールしてから、サイレントインストールのために-sを指定してExePackageを呼び出したかどうかに応じて、の値を持つInstallCommandがあるかどうかによって異なります。 "OtherInstaller"はNSIS(Nulscriptインストーラ)インストーラですので、サイレントインストールを起動するには大文字小文字を区別する/Sが必要です。私はUILevel=2がサイレントインストールを確認するための条件だと理解していますが、なんらかの理由で、「OtherInstaller」が/Sサイレント引数で呼び出されていません。その後、 "MainMsiInstaller"が呼び出されます。WiXの起動時のブートストラップが異なるインストール用のInstallCommandパラメータ

<Chain>  
    <PackageGroupRef Id="NetFx452Web"/>  

    <ExePackage Id="OtherInstallerLoud" 
       SourceFile="..\..\bootstrapper\OtherInstallerFile" 
       InstallCondition="NOT UILevel=2"/> 

    <ExePackage Id="OtherInstallerSilent" 
       SourceFile="..\..\bootstrapper\\OtherInstallerFile" 
       InstallCommand="/S " 
       InstallCondition="UILevel=2"/> 

    <MsiPackage Id="MainMsiInstaller" 
       DisplayInternalUI="yes" 
       SourceFile="..\..\bin\$(var.CandleCfgName)\MainMsiInstaller.msi" /> 
</Chain> 

助けてください。最後に

答えて

0

(最善の解決策かどうか、ではない)私のために働いたソリューションは、私が使用していたburn.exeのバージョンは3.11.xxxxと上向きv3.11で利用可能ですWIX変数であるInstallCondition="WixBundleUILevel=2"たことを確実にするためでした。だから、本質的には

...

<Chain>  
    <PackageGroupRef Id="NetFx452Web"/>  

    <ExePackage Id="OtherInstallerLoud" 
       SourceFile="..\..\bootstrapper\OtherInstallerFile" 
       InstallCondition="NOT WixBundleUILevel=2"/> 

    <ExePackage Id="OtherInstallerSilent" 
       SourceFile="..\..\bootstrapper\OtherInstallerFile" 
       InstallCommand="/S " 
       InstallCondition="WixBundleUILevel=2"/> 

    <MsiPackage Id="MainMsiInstaller" 
       DisplayInternalUI="no" 
       SourceFile="..\..\bin\$(var.CandleCfgName)\MainMsiInstaller.msi" /> 
</Chain> 
関連する問題