如果已经安装,我需要卸载以前的版本。我有一个NSIS脚本。这是我尝试过的: -
Function UninstallPreviousVersion
ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName"
StrCmp $R0 "" done remove
remove:
DetailPrint "Removing previous installation."
ExecWait '"$INSTDIR\uninst.exe" /S _?=$INSTDIR'
done:
FunctionEnd
但是当我运行它而不是卸载旧版本并安装新版本时。它在安装文件夹下创建一个新文件夹'bin'。
请帮忙吗?
答案 0 :(得分:0)
如果旧的安装位置与$ instdir不同,您可能希望从注册表中读取卸载目录,但这不是您真正的问题。你的代码看起来是正确的,所以我建议你在卸载程序代码中做一些“MessageBox调试”......