判断注册表中的版本数值

优质
小牛编辑
121浏览
2023-12-01
通过NSIS制作升级补丁,如果已安装的程序版本小于升级补丁限制的版本,就让它提示信息并自动退出。

以千千静听5.0的注册表为例进行演示:

name "NSISDemo"
outfile 'NSISDemo.exe'

Section "NSISDemo"

ReadRegStr $R0 HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TTPlayer "DisplayVersion"

IntCmp $R0 "5.0" is5 lessthan5 morethan5  ;详情查看 帮助4.9.4.13 IntCmp

is5:
  DetailPrint "$R0 == 5.0"
  Goto int
lessthan5:
  DetailPrint "$R0  5.0"
  Goto error1
int:
MessageBox MB_OK  "你系统中现有版本为$R0,点击OK安装更新" IDOK  
DetailPrint "安装版本为: $R0"
goto done
error1:
MessageBox MB_ICONSTOP|MB_OK  "你系统中版本$R0高于更新版本" IDOK  
error2:
MessageBox MB_ICONSTOP|MB_OK  "你系统中版本$R0低于更新版本" IDOK  

done:
SectionEnd