|
|
@@ -384,7 +384,7 @@ Function ConditionalAddToRegisty
|
|
|
Pop $0
|
|
|
Pop $1
|
|
|
StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
|
|
|
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
|
|
+ WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
|
|
"$1" "$0"
|
|
|
;MessageBox MB_OK "Set Registry: '$1' to '$0'"
|
|
|
DetailPrint "Set install registry entry: '$1' to '$0'"
|
|
|
@@ -414,6 +414,7 @@ FunctionEnd
|
|
|
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
|
|
|
|
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
|
+ !insertmacro MUI_PAGE_FINISH
|
|
|
|
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
@@ -459,14 +460,18 @@ Section "Installer Section" InstSection
|
|
|
|
|
|
;Create uninstaller
|
|
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
|
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
|
|
- "DisplayName" "@CPACK_NSIS_DISPLAY_NAME@"
|
|
|
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
|
|
- "DisplayVersion" "@CPACK_PACKAGE_VERSION@"
|
|
|
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
|
|
- "Publisher" "@CPACK_PACKAGE_VENDOR@"
|
|
|
-WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
|
|
- "UninstallString" "$INSTDIR\Uninstall.exe"
|
|
|
+ Push "DisplayName"
|
|
|
+ Push "@CPACK_NSIS_DISPLAY_NAME@"
|
|
|
+ Call ConditionalAddToRegisty
|
|
|
+ Push "DisplayVersion"
|
|
|
+ Push "@CPACK_PACKAGE_VERSION@"
|
|
|
+ Call ConditionalAddToRegisty
|
|
|
+ Push "Publisher"
|
|
|
+ Push "@CPACK_PACKAGE_VENDOR@"
|
|
|
+ Call ConditionalAddToRegisty
|
|
|
+ Push "UninstallString"
|
|
|
+ Push "$INSTDIR\Uninstall.exe"
|
|
|
+ Call ConditionalAddToRegisty
|
|
|
|
|
|
; Optional registration
|
|
|
Push "DisplayIcon"
|
|
|
@@ -481,9 +486,6 @@ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PAC
|
|
|
Push "Contact"
|
|
|
Push "@CPACK_NSIS_CONTACT@"
|
|
|
Call ConditionalAddToRegisty
|
|
|
- Push "FooBar"
|
|
|
- Push ""
|
|
|
- Call ConditionalAddToRegisty
|
|
|
|
|
|
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
|
|
|
|
|
@@ -493,12 +495,15 @@ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PAC
|
|
|
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
|
|
|
|
|
; Write special uninstall registry entries
|
|
|
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
|
|
- "StartMenu" "$STARTMENU_FOLDER"
|
|
|
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
|
|
- "AddToPath" "$ADD_TO_PATH"
|
|
|
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
|
|
- "AddToPathAllUsers" "$ADD_TO_PATH_ALL_USERS"
|
|
|
+ Push "StartMenu"
|
|
|
+ Push "$STARTMENU_FOLDER"
|
|
|
+ Call ConditionalAddToRegisty
|
|
|
+ Push "AddToPath"
|
|
|
+ Push "$ADD_TO_PATH"
|
|
|
+ Call ConditionalAddToRegisty
|
|
|
+ Push "AddToPathAllUsers"
|
|
|
+ Push "$ADD_TO_PATH_ALL_USERS"
|
|
|
+ Call ConditionalAddToRegisty
|
|
|
|
|
|
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
|
|
|
|
|
|
@@ -542,12 +547,12 @@ FunctionEnd
|
|
|
;Uninstaller Section
|
|
|
|
|
|
Section "Uninstall"
|
|
|
- ReadRegStr $START_MENU HKLM \
|
|
|
+ ReadRegStr $START_MENU SHCTX \
|
|
|
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "StartMenu"
|
|
|
;MessageBox MB_OK "Start menu is in: $START_MENU"
|
|
|
- ReadRegStr $ADD_TO_PATH HKLM \
|
|
|
+ ReadRegStr $ADD_TO_PATH SHCTX \
|
|
|
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "AddToPath"
|
|
|
- ReadRegStr $ADD_TO_PATH_ALL_USERS HKLM \
|
|
|
+ ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
|
|
|
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "AddToPathAllUsers"
|
|
|
;MessageBox MB_OK "Add to path: $ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
|
|
|
|
|
|
@@ -560,7 +565,7 @@ Section "Uninstall"
|
|
|
|
|
|
;Remove the uninstaller itself.
|
|
|
Delete "$INSTDIR\Uninstall.exe"
|
|
|
- DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
|
|
+ DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
|
|
|
|
|
;Remove the installation directory if it is empty.
|
|
|
RMDir "$INSTDIR"
|