Merge topic 'cpack-nsis-fix-uninstall-quoting'

5d2ceaada8 CPack/NSIS: Add support for unquoted (legacy) uninstaller strings
b795c96727 CPack/NSIS: Fix uninstall command when run from installer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7096
This commit is contained in:
Brad King
2022-03-22 12:44:56 +00:00
committed by Kitware Robot

View File

@@ -931,9 +931,11 @@ Function .onInit
;Run the uninstaller
uninst:
ClearErrors
StrLen $2 "\@CPACK_NSIS_UNINSTALL_NAME@.exe"
StrCpy $3 $0 -$2 # remove "\@CPACK_NSIS_UNINSTALL_NAME@.exe" from UninstallString to get path
ExecWait '"$0" /S _?=$3' ;Do not copy the uninstaller to a temp file
StrCpy $2 $0 1
StrCmp '"' $2 0 +3 ; checks if string is quoted (CPack before v3.20.6 did not quote it)
ExecWait '$0 /S'
Goto +2
ExecWait '"$0" /S'
IfErrors uninst_failed inst
uninst_failed: