【发布时间】:2016-02-17 13:19:35
【问题描述】:
我有一个带有自定义 UI、1 个 msi 包和一些先决条件的引导程序。我想要做的是在自定义 UI 中检测先决条件,然后覆盖 bundle 元素中的一个变量以安装或不安装先决条件。
所以基本上:
<Variable Name="VCRedist2010SP1_x86" Value="TRUE"/>
<Chain>
<ExePackage Id="VCRedist2010SP1_x86" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes" InstallCommand="/q"
SourceFile="E:\Redist\vcredist_2010_SP1_x86.exe"
DetectCondition="NOT VCRedist2010SP1_x86"/>
...
</Chain>
然后从我的 UI 中覆盖 VCRedist2010SP1_x86 变量。
问题是DetectCondition 的检查发生在我覆盖变量之前。这是日志:
Condition 'NOT VCRedist2010SP1_x86' evaluates to false.
Setting string variable 'VCRedist2010SP1_x86' to value 'FALSE'
问题是它是否可以像这样工作,还是我总是必须使用 RegistrySearch 在 XML 中进行检测?
【问题讨论】: