diff options
author | Brad King <brad.king@kitware.com> | 2017-04-05 14:17:17 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2017-04-05 14:17:21 (GMT) |
commit | 0d17a82b0b703847cd78f33a9461286876e1d0dc (patch) | |
tree | 6d65d899ab7ec5ea189f92fc6ef2cce154d404a9 | |
parent | 8e6014f51d7c65d09b1f3ed640dff59e730cb22a (diff) | |
parent | 1b1ad2a2f4c1fa1369be7f192d1fc1a790aa5503 (diff) | |
download | CMake-0d17a82b0b703847cd78f33a9461286876e1d0dc.zip CMake-0d17a82b0b703847cd78f33a9461286876e1d0dc.tar.gz CMake-0d17a82b0b703847cd78f33a9461286876e1d0dc.tar.bz2 |
Merge topic 'revert-cpack_nsis_sign_uninstaller'
1b1ad2a2 Revert "CPack/NSIS: Sign the uninstaller"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !597
-rw-r--r-- | Help/release/dev/cpack-sign-uninstaller.rst | 5 | ||||
-rw-r--r-- | Modules/CPackNSIS.cmake | 4 | ||||
-rw-r--r-- | Modules/NSIS.template.in | 46 |
3 files changed, 1 insertions, 54 deletions
diff --git a/Help/release/dev/cpack-sign-uninstaller.rst b/Help/release/dev/cpack-sign-uninstaller.rst deleted file mode 100644 index ff2b402..0000000 --- a/Help/release/dev/cpack-sign-uninstaller.rst +++ /dev/null @@ -1,5 +0,0 @@ -cpack-sign_uninstaller ----------------------- - -* The :module:`CPackNSIS` module learned to sign the uninstaller - when using :variable:`CPACK_NSIS_SIGN_UNINSTALLER` variable. diff --git a/Modules/CPackNSIS.cmake b/Modules/CPackNSIS.cmake index 37fedf3..18d1871 100644 --- a/Modules/CPackNSIS.cmake +++ b/Modules/CPackNSIS.cmake @@ -133,10 +133,6 @@ # "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html" # "CMake Help" "https://cmake.org" "CMake Web Site") # -# .. variable:: CPACK_NSIS_SIGN_UNINSTALLER -# -# Specify a command to use for signing the uninstaller. The command will -# be invoked a path to the uninstaller as its only argument. #FIXME we should put NSIS specific code here #FIXME but I'm not doing it because I'm not able to test it... diff --git a/Modules/NSIS.template.in b/Modules/NSIS.template.in index 4f6aa75..9001888 100644 --- a/Modules/NSIS.template.in +++ b/Modules/NSIS.template.in @@ -29,34 +29,6 @@ ;-------------------------------- ;General -!ifdef INNER - OutFile "${TEMPINSTALLER}.exe" - SetCompress off ; for speed -!else - ; Call makensis again, defining INNER. This writes an installer for us which, when - ; it is invoked, will just write the uninstaller to some location, and then exit. - ; Be sure to substitute the name of this script here. - !tempfile TEMPINSTALLER - !tempfile TEMPUNINSTALLER - !system "$\"${NSISDIR}\makensis$\" /DTEMPINSTALLER=$\"${TEMPINSTALLER}$\" /DTEMPUNINSTALLER=$\"${TEMPUNINSTALLER}$\" /DINNER $\"@CPACK_TEMPORARY_DIRECTORY@/../project.nsi$\"" = 0 - - ; So now run that installer we just created as %TEMP%\tempinstaller.exe. Since it - ; calls quit the return value isn't zero. - - !system "$\"${TEMPINSTALLER}.exe$\"" = 2 - - ; That will have written an uninstaller binary for us. Now we sign it with your - ; favourite code signing tool. - - !tempfile INCEXIST - !system 'if exist "@CPACK_NSIS_SIGN_UNINSTALLER@" echo !define HAVE_SIGN_UNINST > "${INCEXIST}"' - !include "${INCEXIST}" - !delfile "${INCEXIST}" - !ifdef HAVE_SIGN_UNINST - !system '"@CPACK_NSIS_SIGN_UNINSTALLER@" "${TEMPUNINSTALLER}.exe"' = 0 - !endif - - ; Good. Now we can carry on writing the real installer. ;Name and file Name "@CPACK_NSIS_PACKAGE_NAME@" @@ -64,7 +36,6 @@ ;Set compression SetCompressor @CPACK_NSIS_COMPRESSOR@ -!endif ;Require administrator access RequestExecutionLevel admin @@ -588,10 +559,8 @@ FunctionEnd !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH -!ifdef INNER !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES -!endif ;-------------------------------- ;Languages @@ -673,10 +642,7 @@ Section "-Core installation" WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR ;Create uninstaller -!ifndef INNER - ; this packages the signed uninstaller - File "/oname=Uninstall.exe" "${TEMPUNINSTALLER}.exe" -!endif + WriteUninstaller "$INSTDIR\Uninstall.exe" Push "DisplayName" Push "@CPACK_NSIS_DISPLAY_NAME@" Call ConditionalAddToRegisty @@ -835,7 +801,6 @@ FunctionEnd ;-------------------------------- ;Uninstaller Section -!ifdef INNER Section "Uninstall" ReadRegStr $START_MENU SHCTX \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "StartMenu" @@ -921,7 +886,6 @@ Section "Uninstall" Call un.RemoveFromPath doNotRemoveFromPath: SectionEnd -!endif ;-------------------------------- ; determine admin versus local install @@ -934,14 +898,6 @@ SectionEnd ; "Program Files" for AllUsers, "My Documents" for JustMe... Function .onInit -!ifdef INNER - ; If INNER is defined, then we aren't supposed to do anything except write out - ; the installer. This is better than processing a command line option as it means - ; this entire code path is not present in the final (real) installer. - - WriteUninstaller "${TEMPUNINSTALLER}.exe" - Quit ; just bail out quickly when running the "inner" installer -!endif StrCmp "@CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL@" "ON" 0 inst ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "UninstallString" |