我有一个WiX文件,我必须在其中进行版本比较以检查先决条件。表达式如下所示:
<Publish (attributes...)>
<![CDATA[(VERSION<"7.0") OR (other expressions)]]>
</Publish>
到目前为止,这个方法运行良好,因为主版本号从7到8到9。我们现在正在迁移到版本10,字符串比较失败,因为"1“小于"7”。正如我打算比较版本一样,我希望"10.0"<"7.0"
的计算结果为false
,但由于正在进行的字符串比较,表达式的计算结果为true
。
我已经检查了几个StackOverflow答案以及WiX文档,但似乎缺少版本比较操作。
理想情况下,在编程语言中,如果没有版本解析机制,我会用.
拆分字符串,并将字符串转换为整数,然后比较相应的条目。
我可以对WiX使用什么方法?
发布于 2019-03-27 04:09:56
MSI SDK:可以,正如MSI SDK声明的那样:"Note that the installer will not do direct comparisons of the Version data type in conditional statements
.例如,您不能在条件语句中使用比较运算符来比较版本,例如"01.10“和"1.010”。请使用有效的方法搜索版本,然后设置属性。“
问题仍然是搜索和设置属性对您来说是不是一个可行的方法。您还可以使用自定义操作,并以更灵活的方式检查系统-如果您确实需要的话。
您在那个发布元素中到底在做什么?
https://stackoverflow.com/questions/55351177
复制相似问题