Browse Source

Merge topic 'revert-cpack_nsis_sign_uninstaller'

1b1ad2a2 Revert "CPack/NSIS: Sign the uninstaller"

Acked-by: Kitware Robot <[email protected]>
Merge-request: !597
Brad King 8 years ago
parent
commit
0d17a82b0b
3 changed files with 1 additions and 54 deletions
  1. 0 5
      Help/release/dev/cpack-sign-uninstaller.rst
  2. 0 4
      Modules/CPackNSIS.cmake
  3. 1 45
      Modules/NSIS.template.in

+ 0 - 5
Help/release/dev/cpack-sign-uninstaller.rst

@@ -1,5 +0,0 @@
-cpack-sign_uninstaller
-----------------------
-
-* The :module:`CPackNSIS` module learned to sign the uninstaller
-  when using :variable:`CPACK_NSIS_SIGN_UNINSTALLER` variable.

+ 0 - 4
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...

+ 1 - 45
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"