如何使用NSIS脚本以静默方式卸载以前的版本?

时间:2012-02-02 20:36:06

标签: nsis setup-deployment

如果已经安装,我需要卸载以前的版本。我有一个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'。

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

如果旧的安装位置与$ instdir不同,您可能希望从注册表中读取卸载目录,但这不是您真正的问题。你的代码看起来是正确的,所以我建议你在卸载程序代码中做一些“MessageBox调试”......