2017-08-16 7 views
0

J'ai un programme d'installation Wix qui nécessite l'utilisation d'un programme d'amorçage. J'ai inclus un extrait du Bundle.wxs ci-dessous. Il montre le Chain, qui doit d'abord installer .Net 4.5.2, puis selon que l'installateur a été appelé avec -s pour les appels d'installation silencieux ExePackage avec ou sans le InstallCommand avec une valeur de /S. Le "OtherInstaller" est un programme d'installation de NSIS (nulscript installer) qui nécessite donc un code sensible à la casse /S pour déclencher l'installation en mode silencieux. Je comprends que UILevel=2 est la condition à rechercher pour une installation silencieuse, mais pour une raison quelconque, "OtherInstaller" n'est pas appelé avec l'argument silencieux /S. Ensuite, le "MainMsiInstaller" est appelé.Exécution de l'amorçage de gravure WiX Paramètre InstallCommand différent pour l'installation silencieuse

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

Toute aide appréciée.

Répondre

0

En fin de compte une solution qui a fonctionné pour moi (que ce soit la meilleure solution, ou non) était de faire en sorte que la version de burn.exe j'utilisais était 3.11.xxxx et InstallCondition="WixBundleUILevel=2" qui est une variable WIX qui est disponible en v3.11 vers le haut.

Donc, en substance ...

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