delete the post-install options info from registry on uninstall

This commit is contained in:
Stephen Birarda 2016-01-13 16:44:16 -08:00
parent a47cf35b32
commit a0647756b5
3 changed files with 9 additions and 8 deletions

View file

@ -71,6 +71,7 @@ macro(SET_PACKAGING_PARAMETERS)
endif ()
set(GENERATED_UNINSTALLER_EXEC_NAME "Uninstall.exe")
set(REGISTRY_HKLM_INSTALL_ROOT "Software\\Microsoft\\Windows\\CurrentVersion\\Install\\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@")
set(POST_INSTALL_OPTIONS_REG_GROUP "PostInstallOptions")
set(CLIENT_DESKTOP_SHORTCUT_REG_KEY "ClientDesktopShortcut")
set(CONSOLE_DESKTOP_SHORTCUT_REG_KEY "ConsoleDesktopShortcut")

View file

@ -24,3 +24,4 @@ set(CLIENT_DESKTOP_SHORTCUT_REG_KEY "@CLIENT_DESKTOP_SHORTCUT_REG_KEY@")
set(CONSOLE_DESKTOP_SHORTCUT_REG_KEY "@CONSOLE_DESKTOP_SHORTCUT_REG_KEY@")
set(CONSOLE_STARTUP_REG_KEY "@CONSOLE_STARTUP_SHORTCUT_REG_KEY@")
set(LAUNCH_NOW_REG_KEY "@LAUNCH_NOW_REG_KEY@")
set(REGISTRY_HKLM_INSTALL_ROOT "@REGISTRY_HKLM_INSTALL_ROOT@")

View file

@ -893,8 +893,7 @@ Function HandlePostInstallOptions
${If} $DESKTOP_CLIENT_STATE == ${BST_CHECKED}
CreateShortCut "$DESKTOP\@INTERFACE_SHORTCUT_NAME@.lnk" "$INSTDIR\@INTERFACE_WIN_EXEC_NAME@"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Install\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\@POST_INSTALL_OPTIONS_REG_GROUP@" \
"@CLIENT_DESKTOP_SHORTCUT_REG_KEY@" 1
WriteRegDWORD HKLM "@REGISTRY_HKLM_INSTALL_ROOT@\@POST_INSTALL_OPTIONS_REG_GROUP@" "@CLIENT_DESKTOP_SHORTCUT_REG_KEY@" 1
${EndIf}
${EndIf}
@ -905,8 +904,7 @@ Function HandlePostInstallOptions
${If} $DESKTOP_SERVER_STATE == ${BST_CHECKED}
CreateShortCut "$DESKTOP\@CONSOLE_SHORTCUT_NAME@.lnk" "$INSTDIR\@CONSOLE_WIN_EXEC_NAME@"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Install\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\@POST_INSTALL_OPTIONS_REG_GROUP@" \
"@CONSOLE_DESKTOP_SHORTCUT_REG_KEY@" 1
WriteRegDWORD HKLM "@REGISTRY_HKLM_INSTALL_ROOT@" "@CONSOLE_DESKTOP_SHORTCUT_REG_KEY@" 1
${EndIf}
; check if the user asked to have Server Console launched every startup
@ -915,8 +913,7 @@ Function HandlePostInstallOptions
${If} $SERVER_STARTUP_STATE == ${BST_CHECKED}
CreateShortCut "$SMSTARTUP\@CONSOLE_SHORTCUT_NAME@.lnk" "$INSTDIR\@CONSOLE_WIN_EXEC_NAME@"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Install\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\@POST_INSTALL_OPTIONS_REG_GROUP@" \
"@CONSOLE_STARTUP_REG_KEY@" 1
WriteRegDWORD HKLM "@REGISTRY_HKLM_INSTALL_ROOT@\@POST_INSTALL_OPTIONS_REG_GROUP@" "@CONSOLE_STARTUP_REG_KEY@" 1
${EndIf}
${EndIf}
@ -924,8 +921,7 @@ Function HandlePostInstallOptions
${NSD_GetState} $LAUNCH_NOW_CHECKBOX $LAUNCH_NOW_STATE
${If} $LAUNCH_NOW_STATE == ${BST_CHECKED}
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Install\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\@POST_INSTALL_OPTIONS_REG_GROUP@" \
"@LAUNCH_NOW_REG_KEY@" 1
WriteRegDWORD HKLM "@REGISTRY_HKLM_INSTALL_ROOT@\@POST_INSTALL_OPTIONS_REG_GROUP@" "@LAUNCH_NOW_REG_KEY@" 1
; both launches use the explorer trick in case the user has elevated permissions for the installer
; it won't be possible to use this approach if either application should be launched with a command line param
@ -1098,6 +1094,9 @@ Section "Uninstall"
DeleteRegKey HKCR '@HIGH_FIDELITY_PROTOCOL@'
${EndIf}
;Delete post-install option information from registry
DeleteRegKey HKLM '@REGISTRY_HKLM_INSTALL_ROOT@'
;Delete empty start menu parent diretories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"