gpt4 book ai didi

nsis - NSIS 安装程序中的版本比较

转载 作者:行者123 更新时间:2023-12-04 19:34:25 35 4
gpt4 key购买 nike

我必须比较当前文件的版本和已经安装在 NSIS 安装程序中的版本。我知道版本号是字符串,但我在几个地方读到,如果逻辑操作需要,NSIS 会自动将字符串转换为整数。

仅出于测试目的,我编写了以下脚本:

Var Test1
Var Test2

section
StrCpy $Test1 "4.3.1.50245"
StrCpy $Test2 "4.2.1.50245"

${If} $Test1 > $Test2
MessageBox MB_ICONSTOP "$Test1 is bigger than $Test2"
${Else}
MessageBox MB_ICONSTOP "$Test2 is bigger than $Test1"
${EndIf}
Quit
sectionEnd

问题:它给了我结果 4.2.1.50245大于 4.3.1.50245 .但是,如果我尝试比较 4.2.1.50245,它会给我正确的结果与 3.2.1.50245 (或者如果我比较 5024540256 等)

最佳答案

查看以下功能,版本比较
http://nsis.sourceforge.net/VersionCompare

Section
${VersionCompare} "1.1.1.9" "1.1.1.01" $R0
; $R0="1"
SectionEnd
; Result:
; $var=0 Versions are equal
; $var=1 Version1 is newer
; $var=2 Version2 is newer

如果没有,另一种方法是实现字符串的分解,然后比较主要、次要、修订、...部分。但这可能有点矫枉过正:
http://nsis.sourceforge.net/Explode

关于nsis - NSIS 安装程序中的版本比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41573160/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com