我想验证用户在安装过程中给出的 WiX 命令行属性的值。如果该属性的值不是特定集合之一,则应采用默认值并创建一个注册表项。
例如,属性 USERLEVEL 的值应为 1-4。如果用户指定任何其他值,则应默认为 1 并将其写入注册表。安装程序没有 UI 组件,我们希望使用一些条件语句来执行此操作。
最佳答案
这可以通过“启动条件”最简单地完成。作为 Product
的 child 元素添加 Condition
带有消息的元素。例如:
<Product ...>
...
<Condition Message='The USERLEVEL property has an invalid value of: [USERLEVEL]. Please ensure the value falls in the range of 1 to 4.'>
USERLEVEL>0 AND USERLEVEL<5
</Condition>
我使用了>
和<
而不是将条件包装在 CDATA
中但你可以随心所欲地做。最终结果是您希望条件类似于 USERLEVEL > 0 and USERLEVEL < 5
(或者如果您愿意的话:USERLEVEL >=1 AND USERLEVEL <= 4
)。
关于wix - WiX 中命令行参数的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253897/