wix - WiX 中命令行参数的验证

标签 wix

我想验证用户在安装过程中给出的 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&gt;0 AND USERLEVEL&lt;5
   </Condition>

我使用了&gt;&lt;而不是将条件包装在 CDATA 中但你可以随心所欲地做。最终结果是您希望条件类似于 USERLEVEL > 0 and USERLEVEL < 5 (或者如果您愿意的话:USERLEVEL >=1 AND USERLEVEL <= 4)。

关于wix - WiX 中命令行参数的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253897/

相关文章:

c# - Windows 服务未从 App.config 获取值

Wix安装程序: Write to HKLM/HKCR in per-user installation without elevated rights

c# - 如何验证 Windows 安装程序 XML (WIX) 中属性中存储的路径

wix - 如何根据属性值安装功能

visual-studio - 在 Visual Studio Team Services 上构建 WiX 超时

windows - 如何防止 WiX 在打补丁时删除注册表项

.net - wixtoolset Nuget 4.3 恢复 wixproj 失败

xml - 合并两个由 Heat 生成的 .wxs 文件

c# - Wix 服务安装参数

msbuild - 将石蜡与 TFS 结合使用