variables - Wix 条件错误 - 无法解析条件
问题描述
我正在尝试使用我从自定义 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'
如果有人可以告诉我我做错了什么,或者提供一个很好的链接,这将非常有帮助。
此外,如果这有帮助,这是我看到的确切日志。
[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"
推荐阅读
- angular - 带有 REST 后端的 Angular 前端:CRUD 操作的实体设计
- python - 如何从 html 的 2 个标签中提取文本或替换第一个和最后一个标签
- solidity - 错误
.append() in ton-solidity:左侧 (1) 与右侧 (0) 的组件数量不同 - node.js - AWS Elastic Beanstalk NPM 部署错误
- javascript - 如何在 Highchart 类型的日期时间上设置固定的最大 x 轴
- javascript - 反应地图“TypeError:无法读取未定义的属性'map'”
- heroku-cli - 无法在 heroic 上获取方法节点
- bash - 如何在 Curl 命令中使用 \r 和 \n (换行符)?
- html - 根据值将图标传递给html表格
- c# - C# 相当于 TypeScript 模板文字类型?