From 40566ef2f808cc5bffa5109250f0edf864da5f7e Mon Sep 17 00:00:00 2001 From: David Golub Date: Thu, 2 May 2013 09:47:08 -0400 Subject: [PATCH] CPack/NSIS: Obtain path from which to uninstall from registry (#14124) Without this, when CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL is set, the installer tries to uninstall the old version from the default installation path for the new version, rather than using the path from the registry where the old version is installed. --- Modules/NSIS.template.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/NSIS.template.in b/Modules/NSIS.template.in index 59a444bde..76310af31 100644 --- a/Modules/NSIS.template.in +++ b/Modules/NSIS.template.in @@ -916,7 +916,9 @@ Function .onInit ;Run the uninstaller uninst: ClearErrors - ExecWait '$0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file + StrLen $2 "\Uninstall.exe" + StrCpy $3 $0 -$2 # remove "\Uninstall.exe" from UninstallString to get path + ExecWait '$0 _?=$3' ;Do not copy the uninstaller to a temp file IfErrors uninst_failed inst uninst_failed: