Wix 条件错误 - 无法解析条件

Wix Condition Error - Failed to parse condition

我正在尝试使用我从自定义 UI 中设置的变量。我在日志中看到设置值的位置,但我尝试过的所有条件都失败了。

这里是有问题的代码:

<MsiPackage SourceFile="$(var.Recorder.Installer.TargetPath)" InstallCondition="[InstallRecorder]"
              Visible="no" EnableFeatureSelection="yes" Name="Recorder.Installer" Id="Recorder.Installer"
              />

我将 [InstallRecorder] 设置为字符串“1”为真,“0”为假。

话虽如此,这就是我尝试过的方法:

[InstallRecorder]=1 [InstallRecorder]='1' InstallRecorder=1 'InstallRecorder'='1'

如果有人可以告诉我我做错了什么,或者提供一个好的 link 这将非常有帮助。

此外,如果这有帮助,这是我正在查看的确切日志。

[1194:0AC0][2020-08-13T05:39:46]i000: Setting string variable 'InstallRecorder' to value '1'
[1194:0AC0][2020-08-13T05:39:46]i000: Starting Installation
[1194:0F64][2020-08-13T05:39:46]i200: Plan begin, 1 packages, action: Install
[1194:0F64][2020-08-13T05:39:46]e000: Error 0x8007000d: Failed to parse condition "[InstallRecorder]". Unexpected character at position 0.

经过一天的摸索,我终于弄明白我的问题是什么了。

我改变了这个:

  <Variable Name="InstallRecorder" Value="0" />
  <Variable Name="InstallDataTransport" Value="0"/>

为此:

<Variable Name="InstallRecorder" bal:Overridable="yes" Type="numeric" Value="0" />
<Variable Name="InstallDataTransport" bal:Overridable="yes" Type="numeric" Value="0"/>

然后像这样访问它:

InstallCondition="InstallDataTransport = 1"