Update NSIS x64 install to use different registry keys to x86.

This commit is contained in:
Steven McCoy 2012-10-20 14:56:00 -04:00
parent bbff2fc3f8
commit a5da31eb07

View File

@ -75,7 +75,7 @@ Var AR_RegFlags
ClearErrors ClearErrors
;Reading component status from registry ;Reading component status from registry
ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@\Components\${SecName}" "Installed" ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)\Components\${SecName}" "Installed"
IfErrors "default_${SecName}" IfErrors "default_${SecName}"
;Status will stay default if registry value not found ;Status will stay default if registry value not found
;(component was never installed) ;(component was never installed)
@ -108,13 +108,13 @@ Var AR_RegFlags
;Section is not selected: ;Section is not selected:
;Calling Section uninstall macro and writing zero installed flag ;Calling Section uninstall macro and writing zero installed flag
!insertmacro "Remove_${${SecName}}" !insertmacro "Remove_${${SecName}}"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@\Components\${SecName}" \ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)\Components\${SecName}" \
"Installed" 0 "Installed" 0
Goto "exit_${SecName}" Goto "exit_${SecName}"
"leave_${SecName}:" "leave_${SecName}:"
;Section is selected: ;Section is selected:
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@\Components\${SecName}" \ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)\Components\${SecName}" \
"Installed" 1 "Installed" 1
"exit_${SecName}:" "exit_${SecName}:"
@ -494,7 +494,7 @@ Function ConditionalAddToRegisty
Pop $0 Pop $0
Pop $1 Pop $1
StrCmp "$0" "" ConditionalAddToRegisty_EmptyString StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" \ WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" \
"$1" "$0" "$1" "$0"
;MessageBox MB_OK "Set Registry: '$1' to '$0'" ;MessageBox MB_OK "Set Registry: '$1' to '$0'"
DetailPrint "Set install registry entry: '$1' to '$0'" DetailPrint "Set install registry entry: '$1' to '$0'"
@ -810,17 +810,17 @@ FunctionEnd
Section "Uninstall" Section "Uninstall"
ReadRegStr $START_MENU SHCTX \ ReadRegStr $START_MENU SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "StartMenu" "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "StartMenu"
;MessageBox MB_OK "Start menu is in: $START_MENU" ;MessageBox MB_OK "Start menu is in: $START_MENU"
ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \ ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "DoNotAddToPath" "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "DoNotAddToPath"
ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \ ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "AddToPathAllUsers" "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "AddToPathAllUsers"
ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \ ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "AddToPathCurrentUser" "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "AddToPathCurrentUser"
;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS" ;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
ReadRegStr $INSTALL_DESKTOP SHCTX \ ReadRegStr $INSTALL_DESKTOP SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "InstallToDesktop" "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "InstallToDesktop"
;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP " ;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP "
@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@ @CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
@ -837,7 +837,7 @@ Section "Uninstall"
;Remove the uninstaller itself. ;Remove the uninstaller itself.
Delete "$INSTDIR\Uninstall.exe" Delete "$INSTDIR\Uninstall.exe"
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)"
;Remove the installation directory if it is empty. ;Remove the installation directory if it is empty.
RMDir "$INSTDIR" RMDir "$INSTDIR"