我正在使用NSIS创建新的软件安装程序 . 在使用NSIS之前,我们使用WIX安装程序创建了相同的安装程序包 .
我的要求是当我们使用NSIS安装较新版本的安装程序(例如EMR 4.0)时,如果有任何旧版本的安装程序(例如EMR 3.0)是使用WIX安装程序创建的并且存在,那么我们应该删除旧版本安装新版本安装程序之前的安装程序 .
为此,我在.Oninit中编写了以下代码片段,但它无法正常工作
ReadRegStr $R0 HKLM "SOFTWARE\CPS\PowerChute Personal Edition\3.01.00" "InstallPath"
在上面的行中,我传递的第一个参数来自windows注册表 .
第二个参数“InstallPath”是目录位置InstallPath:C:\ Program Files \ CPS \ PowerChute Personal Edition \
Pop $0;
${If} $0 <> 0
MessageBox MB_ICONSTOP "Reading Registry Failed, error $0"
${Else}
MessageBox MB_OKCANCEL "Reading the Registry $R0"
在这里它将转到Else部分并显示消息:“读取注册表C:\ Program Files \ CPS \ PowerChute Personal Edition”
然后我添加了下面的代码,但它在IDOK显示错误:“无效的命令:”IDOK“
IDOK uninst
Abort
${EndIf}
un