mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 09:15:50 +02:00
use macro to write post install options
This commit is contained in:
parent
a1a92cf3a9
commit
3c3ef094bb
2 changed files with 21 additions and 5 deletions
|
@ -24,5 +24,5 @@ set(REGISTRY_HKLM_INSTALL_ROOT "@REGISTRY_HKLM_INSTALL_ROOT@")
|
|||
set(POST_INSTALL_OPTIONS_REG_GROUP "@POST_INSTALL_OPTIONS_REG_GROUP@")
|
||||
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(CONSOLE_STARTUP_REG_KEY "@CONSOLE_STARTUP_REG_KEY@")
|
||||
set(LAUNCH_NOW_REG_KEY "@LAUNCH_NOW_REG_KEY@")
|
||||
|
|
|
@ -850,6 +850,9 @@ Function PostInstallOptionsPage
|
|||
${NSD_CreateCheckbox} 0 15u 100% 10u "&Create a desktop shortcut for @INTERFACE_SHORTCUT_NAME@"
|
||||
Pop $DESKTOP_CLIENT_CHECKBOX
|
||||
StrCpy $CURRENT_OFFSET "30u"
|
||||
|
||||
; check if we have a chosen option for this in the registry already
|
||||
|
||||
${NSD_SetState} $DESKTOP_CLIENT_CHECKBOX ${BST_CHECKED}
|
||||
${EndIf}
|
||||
|
||||
|
@ -881,6 +884,11 @@ Function PostInstallOptionsPage
|
|||
nsDialogs::Show
|
||||
FunctionEnd
|
||||
|
||||
!macro WritePostInstallOption OptionName Option
|
||||
; writes the value for the given post install option to the registry
|
||||
WriteRegDWORD HKLM "@REGISTRY_HKLM_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\@POST_INSTALL_OPTIONS_REG_GROUP@" "${OptionName}" ${Option}
|
||||
!macroend
|
||||
|
||||
Var DESKTOP_CLIENT_STATE
|
||||
Var DESKTOP_SERVER_STATE
|
||||
Var SERVER_STARTUP_STATE
|
||||
|
@ -893,7 +901,9 @@ Function HandlePostInstallOptions
|
|||
|
||||
${If} $DESKTOP_CLIENT_STATE == ${BST_CHECKED}
|
||||
CreateShortCut "$DESKTOP\@INTERFACE_SHORTCUT_NAME@.lnk" "$INSTDIR\@INTERFACE_WIN_EXEC_NAME@"
|
||||
WriteRegDWORD HKLM "@REGISTRY_HKLM_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\@POST_INSTALL_OPTIONS_REG_GROUP@" "@CLIENT_DESKTOP_SHORTCUT_REG_KEY@" 1
|
||||
!insertmacro WritePostInstallOption "@CLIENT_DESKTOP_SHORTCUT_REG_KEY@" 1
|
||||
${Else}
|
||||
!insertmacro WritePostInstallOption @CLIENT_DESKTOP_SHORTCUT_REG_KEY@ 0
|
||||
${EndIf}
|
||||
|
||||
${EndIf}
|
||||
|
@ -904,7 +914,9 @@ Function HandlePostInstallOptions
|
|||
|
||||
${If} $DESKTOP_SERVER_STATE == ${BST_CHECKED}
|
||||
CreateShortCut "$DESKTOP\@CONSOLE_SHORTCUT_NAME@.lnk" "$INSTDIR\@CONSOLE_WIN_EXEC_NAME@"
|
||||
WriteRegDWORD HKLM "@REGISTRY_HKLM_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\@POST_INSTALL_OPTIONS_REG_GROUP@" "@CONSOLE_DESKTOP_SHORTCUT_REG_KEY@" 1
|
||||
!insertmacro WritePostInstallOption @CONSOLE_DESKTOP_SHORTCUT_REG_KEY@ 1
|
||||
${Else}
|
||||
!insertmacro WritePostInstallOption @CONSOLE_DESKTOP_SHORTCUT_REG_KEY@ 0
|
||||
${EndIf}
|
||||
|
||||
; check if the user asked to have Server Console launched every startup
|
||||
|
@ -913,7 +925,9 @@ Function HandlePostInstallOptions
|
|||
${If} $SERVER_STARTUP_STATE == ${BST_CHECKED}
|
||||
CreateShortCut "$SMSTARTUP\@CONSOLE_SHORTCUT_NAME@.lnk" "$INSTDIR\@CONSOLE_WIN_EXEC_NAME@"
|
||||
|
||||
WriteRegDWORD HKLM "@REGISTRY_HKLM_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\@POST_INSTALL_OPTIONS_REG_GROUP@" "@CONSOLE_STARTUP_REG_KEY@" 1
|
||||
!insertmacro WritePostInstallOption @CONSOLE_STARTUP_REG_KEY@ 1
|
||||
${Else}
|
||||
!insertmacro WritePostInstallOption @CONSOLE_STARTUP_REG_KEY@ 0
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
|
@ -921,7 +935,7 @@ Function HandlePostInstallOptions
|
|||
${NSD_GetState} $LAUNCH_NOW_CHECKBOX $LAUNCH_NOW_STATE
|
||||
|
||||
${If} $LAUNCH_NOW_STATE == ${BST_CHECKED}
|
||||
WriteRegDWORD HKLM "@REGISTRY_HKLM_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\@POST_INSTALL_OPTIONS_REG_GROUP@" "@LAUNCH_NOW_REG_KEY@" 1
|
||||
!insertmacro WritePostInstallOption @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
|
||||
|
@ -930,6 +944,8 @@ Function HandlePostInstallOptions
|
|||
${Else}
|
||||
Exec '"$WINDIR\explorer.exe" "$INSTDIR\@INTERFACE_WIN_EXEC_NAME@"'
|
||||
${EndIf}
|
||||
${Else}
|
||||
!insertmacro WritePostInstallOption @LAUNCH_NOW_REG_KEY@ 0
|
||||
${EndIf}
|
||||
|
||||
FunctionEnd
|
||||
|
|
Loading…
Reference in a new issue