NSIS打包软件,${VersionCompare}命令报错

    用NSIS 打包软件,想在软件安装前检测当前环境是否已经安装过了该软件,若已经有软件安装,比较已经安装软件的版本和待安装软件的版本,若待安装软件版本比较高,则提示用户原有软件版本比较低,请更新程序.

   修改scrip.nsi,增加内容如下;

  添加头文件 !include "WordFunc.nsh"

  添加代码:

  Function  .onInit

  XXXXXXXX;此处代码判断已经有该软件安装了

  ReadRegStry $R2  HKML "SoftWare\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_VERSION}"  "DisplayVersion" ;读取已安装软件版本,放在$R2中

  ${VersionCompare}  "$R2"  "${PRODUCT_VERSION}"  $1 ;比较已安装软件和待安装软件的版本,并把结果放在$1中,结果有三个,1,2,和0

  StrCmp $1  "1"  0  +3

  MessageBox MB_OK  "待安装版本比已安装版本低"

  Abort

  StrCmp $1  "2"  0  +3

  MessageBox MB_OK  "待安装版本比已安装版本高"

  Abort

  StrCmp $1  "0"  0  +3

  MessageBox MB_OK  "待安装版本和已安装版本一样"

  Abort

FunctionEnd

 

报错信息为:

Invalid Command :${VersionCompare}

到底问题出在哪里了呢?找了半天没找到原因,请大虾们指点,呜呜呜呜

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值