mirror of https://gitee.com/bigwinds/arangodb
Work on the windows installer (#2609)
- Add custom icons and images to the windows installers - fix the calculation of the paths and the silent install mode
This commit is contained in:
parent
37f27dc08a
commit
38fc1536fc
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
After Width: | Height: | Size: 151 KiB |
|
@ -25,7 +25,7 @@
|
||||||
!define VERSION "@CPACK_PACKAGE_VERSION@"
|
!define VERSION "@CPACK_PACKAGE_VERSION@"
|
||||||
!define PATCH "@CPACK_PACKAGE_VERSION_PATCH@"
|
!define PATCH "@CPACK_PACKAGE_VERSION_PATCH@"
|
||||||
!define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
|
!define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
|
||||||
|
!define ARANGO_INI "etc\arangodb3\arangod.conf"
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
; custom defines for the DRY people of us.
|
; custom defines for the DRY people of us.
|
||||||
!define TRI_UNINSTALL_REG_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@";
|
!define TRI_UNINSTALL_REG_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@";
|
||||||
|
@ -78,6 +78,8 @@ Var ini_APPDIR
|
||||||
Var ini_LOGFILE
|
Var ini_LOGFILE
|
||||||
|
|
||||||
Var UpgradeInstall
|
Var UpgradeInstall
|
||||||
|
Var LaunchAfterInstall
|
||||||
|
Var LaunchLink
|
||||||
;----------------------------------------
|
;----------------------------------------
|
||||||
; The first dialog page
|
; The first dialog page
|
||||||
Var Dlg1_Dialog
|
Var Dlg1_Dialog
|
||||||
|
@ -90,7 +92,6 @@ Var Dlg1_CB_custom_path
|
||||||
Var Dlg1_CB_automatic_update
|
Var Dlg1_CB_automatic_update
|
||||||
Var Dlg1_CB_keep_backup
|
Var Dlg1_CB_keep_backup
|
||||||
Var Dlg1_CB_add_path
|
Var Dlg1_CB_add_path
|
||||||
Var Dlg1_CB_as_service
|
|
||||||
Var Dlg1_CB_DesktopIcon
|
Var Dlg1_CB_DesktopIcon
|
||||||
;----------------------------------------
|
;----------------------------------------
|
||||||
; The second dialog page
|
; The second dialog page
|
||||||
|
@ -123,16 +124,22 @@ RequestExecutionLevel highest
|
||||||
!include "ReadINIFileKeys.nsh"
|
!include "ReadINIFileKeys.nsh"
|
||||||
|
|
||||||
!macro determine_install_scope un
|
!macro determine_install_scope un
|
||||||
Function ${un}determine_install_scope
|
Function ${un}determine_install_scope
|
||||||
|
Pop $0
|
||||||
; Now that we know the install scope, calculate directories:
|
; Now that we know the install scope, calculate directories:
|
||||||
${If} $TRI_INSTALL_SCOPE_ALL == 1
|
${If} $TRI_INSTALL_SCOPE_ALL == 1
|
||||||
SetShellVarContext all
|
SetShellVarContext all
|
||||||
|
${If} $INSTDIR == ""
|
||||||
|
${OrIf} $0 == 1
|
||||||
StrCpy $INSTDIR "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
StrCpy $INSTDIR "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||||
|
${EndIf}
|
||||||
StrCpy $DATADIR "$APPDATA\ArangoDB"
|
StrCpy $DATADIR "$APPDATA\ArangoDB"
|
||||||
StrCpy $APPDIR "$APPDATA\ArangoDB-apps"
|
StrCpy $APPDIR "$APPDATA\ArangoDB-apps"
|
||||||
${Else}
|
${Else}
|
||||||
SetShellVarContext current
|
SetShellVarContext current
|
||||||
|
${If} $INSTDIR == ""
|
||||||
StrCpy $INSTDIR "$LOCALAPPDATA\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
StrCpy $INSTDIR "$LOCALAPPDATA\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||||
|
${EndIf}
|
||||||
StrCpy $DATADIR "$LOCALAPPDATA\ArangoDB"
|
StrCpy $DATADIR "$LOCALAPPDATA\ArangoDB"
|
||||||
StrCpy $APPDIR "$LOCALAPPDATA\ArangoDB-apps"
|
StrCpy $APPDIR "$LOCALAPPDATA\ArangoDB-apps"
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
@ -141,6 +148,36 @@ FunctionEnd
|
||||||
!insertmacro determine_install_scope ""
|
!insertmacro determine_install_scope ""
|
||||||
!insertmacro determine_install_scope "un."
|
!insertmacro determine_install_scope "un."
|
||||||
|
|
||||||
|
|
||||||
|
!macro determineInstallScope forceSet
|
||||||
|
Push ${forceSet}
|
||||||
|
call determine_install_scope
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!macro un.determineInstallScope forceSet
|
||||||
|
Push ${forceSet}
|
||||||
|
call un.determine_install_scope
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
Var CB_Launch
|
||||||
|
Function edit_finish_page
|
||||||
|
IfSilent 0 continueUI
|
||||||
|
Return
|
||||||
|
continueUI:
|
||||||
|
${NSD_CreateCheckbox} 120u -20u 50% 20u "Launch ArangoDB?"
|
||||||
|
Pop $CB_Launch
|
||||||
|
${NSD_Check} $CB_Launch
|
||||||
|
FunctionEnd
|
||||||
|
Function check_launch_arangodb
|
||||||
|
${NSD_GetState} $CB_Launch $0
|
||||||
|
${If} $0 <> 0
|
||||||
|
StrCpy $LaunchAfterInstall "1"
|
||||||
|
${Else}
|
||||||
|
StrCpy $LaunchAfterInstall "0"
|
||||||
|
${EndIf}
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
Function un.ReadSettings
|
Function un.ReadSettings
|
||||||
SetRegView ${BITS}
|
SetRegView ${BITS}
|
||||||
; A single user isn''t in HKCC...
|
; A single user isn''t in HKCC...
|
||||||
|
@ -148,7 +185,7 @@ Function un.ReadSettings
|
||||||
ReadRegStr $TRI_INSTALL_SCOPE_ALL HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "scopeAll"
|
ReadRegStr $TRI_INSTALL_SCOPE_ALL HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "scopeAll"
|
||||||
ReadRegStr $TRI_INSTALL_SERVICE HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "service"
|
ReadRegStr $TRI_INSTALL_SERVICE HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "service"
|
||||||
|
|
||||||
call un.determine_install_scope
|
!insertmacro un.determineInstallScope 0
|
||||||
|
|
||||||
ReadRegStr $START_MENU SHCTX "${TRI_UNINSTALL_REG_PATH}" "StartMenu"
|
ReadRegStr $START_MENU SHCTX "${TRI_UNINSTALL_REG_PATH}" "StartMenu"
|
||||||
;MessageBox MB_OK "Start menu is in: $START_MENU"
|
;MessageBox MB_OK "Start menu is in: $START_MENU"
|
||||||
|
@ -156,8 +193,9 @@ Function un.ReadSettings
|
||||||
|
|
||||||
;MessageBox MB_OK "Add to path: $ADD_TO_PATH"
|
;MessageBox MB_OK "Add to path: $ADD_TO_PATH"
|
||||||
ReadRegStr $ADD_DESKTOP_ICON SHCTX "${TRI_UNINSTALL_REG_PATH}" "InstallToDesktop"
|
ReadRegStr $ADD_DESKTOP_ICON SHCTX "${TRI_UNINSTALL_REG_PATH}" "InstallToDesktop"
|
||||||
ReadRegStr $DATADIR SHCTX "${TRI_UNINSTALL_REG_PATH}" "DATADIR"
|
ReadINIStr $DATADIR "$INSTDIR\${ARANGO_INI}" "database" "directory"
|
||||||
ReadRegStr $APPDIR SHCTX "${TRI_UNINSTALL_REG_PATH}" "APPDIR"
|
ReadINIStr $APPDIR "$INSTDIR\${ARANGO_INI}" "javascript" "app-path"
|
||||||
|
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function check_previous_install
|
Function check_previous_install
|
||||||
|
@ -325,10 +363,17 @@ Var AR_RegFlags
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
; Define some macro setting for the gui
|
; Define some macro setting for the gui
|
||||||
@CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
|
@CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
|
||||||
@CPACK_NSIS_INSTALLER_ICON_CODE@
|
;;;1
|
||||||
|
;; @CPACK_NSIS_INSTALLER_ICON_CODE@
|
||||||
|
;;;2
|
||||||
@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
|
@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
|
||||||
|
;;;3
|
||||||
@CPACK_NSIS_INSTALLER_MUI_FINISHPAGE_RUN_CODE@
|
@CPACK_NSIS_INSTALLER_MUI_FINISHPAGE_RUN_CODE@
|
||||||
|
|
||||||
|
!define MUI_HEADERIMAGE_BITMAP "@CPACK_NSIS_HEADER_ICON@"
|
||||||
|
!define MUI_HEADERIMAGE_BITMAP_STRETCH "AspectFitHeight"
|
||||||
|
!define MUI_WELCOMEFINISHPAGE_BITMAP "@CPACK_NSIS_PAGE_ICON@"
|
||||||
|
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH 1
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Pages
|
;Pages
|
||||||
!define MUI_PAGE_CUSTOMFUNCTION_PRE skip_page
|
!define MUI_PAGE_CUSTOMFUNCTION_PRE skip_page
|
||||||
|
@ -374,6 +419,9 @@ Var AR_RegFlags
|
||||||
!define MUI_PAGE_CUSTOMFUNCTION_PRE stop_old_service
|
!define MUI_PAGE_CUSTOMFUNCTION_PRE stop_old_service
|
||||||
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE insert_registration_keys
|
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE insert_registration_keys
|
||||||
!insertmacro MUI_PAGE_INSTFILES
|
!insertmacro MUI_PAGE_INSTFILES
|
||||||
|
|
||||||
|
!define MUI_PAGE_CUSTOMFUNCTION_SHOW edit_finish_page
|
||||||
|
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE check_launch_arangodb
|
||||||
!insertmacro MUI_PAGE_FINISH
|
!insertmacro MUI_PAGE_FINISH
|
||||||
|
|
||||||
!insertmacro MUI_UNPAGE_WELCOME
|
!insertmacro MUI_UNPAGE_WELCOME
|
||||||
|
@ -438,14 +486,15 @@ Var AR_RegFlags
|
||||||
|
|
||||||
!insertmacro Locate
|
!insertmacro Locate
|
||||||
|
|
||||||
|
Var ForAllTxt
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
; Create custom pages
|
; Create custom pages
|
||||||
Function InstallOptionsPage1
|
Function InstallOptionsPage1
|
||||||
IfSilent 0 continueUI
|
IfSilent 0 continueUI
|
||||||
Call determine_install_scope
|
|
||||||
Return
|
Return
|
||||||
|
|
||||||
continueUI:
|
continueUI:
|
||||||
|
!insertmacro determineInstallScope 1
|
||||||
Push ${TEMP1}
|
Push ${TEMP1}
|
||||||
displayAgain:
|
displayAgain:
|
||||||
|
|
||||||
|
@ -458,18 +507,17 @@ displayAgain:
|
||||||
Abort
|
Abort
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
${NSD_CreateLabel} 0 0 100% 6% "Install @CPACK_PACKAGE_NAME@"
|
|
||||||
Pop $0 ; Don't care...
|
|
||||||
|
|
||||||
|
|
||||||
${NSD_CreateLabel} 0 20 100% 6% "Choose to install @CPACK_PACKAGE_NAME@ for all users or the current user:"
|
${NSD_CreateLabel} 0 20 100% 6% "Choose to install @CPACK_PACKAGE_NAME@ for all users or the current user:"
|
||||||
Pop $0 ; Don't care...
|
Pop $0 ; Don't care...
|
||||||
|
|
||||||
${NSD_CreateRadioButton} 5 40 80% 6% "for all users (and ArangoDB as a service)"
|
StrCpy $ForAllTxt "for all users (and ArangoDB as a service)"
|
||||||
|
${If} $AllowGlobalInstall == "0"
|
||||||
|
StrCpy $ForAllTxt "$ForAllTxt (only available for privileged users)"
|
||||||
|
${EndIf}
|
||||||
|
${NSD_CreateRadioButton} 5 45 100% 6% $ForAllTxt
|
||||||
Pop $Dlg1_RB_all_users
|
Pop $Dlg1_RB_all_users
|
||||||
${NSD_SetState} $Dlg1_RB_all_users ${BST_CHECKED}
|
|
||||||
|
|
||||||
${NSD_CreateRadioButton} 5 60 50% 6% "for the current user"
|
${NSD_CreateRadioButton} 5 65 50% 6% "for the current user"
|
||||||
Pop $Dlg1_RB_cur_user
|
Pop $Dlg1_RB_cur_user
|
||||||
|
|
||||||
; Checkboxes
|
; Checkboxes
|
||||||
|
@ -495,10 +543,11 @@ displayAgain:
|
||||||
Pop $Dlg1_CB_DesktopIcon
|
Pop $Dlg1_CB_DesktopIcon
|
||||||
${NSD_SetState} $Dlg1_CB_DesktopIcon ${BST_CHECKED}
|
${NSD_SetState} $Dlg1_CB_DesktopIcon ${BST_CHECKED}
|
||||||
|
|
||||||
|
|
||||||
${If} $AllowGlobalInstall == "0"
|
${If} $AllowGlobalInstall == "0"
|
||||||
|
${NSD_SetState} $Dlg1_RB_cur_user ${BST_CHECKED}
|
||||||
EnableWindow $Dlg1_RB_all_users 0
|
EnableWindow $Dlg1_RB_all_users 0
|
||||||
EnableWindow $Dlg1_CB_as_service 0
|
${Else}
|
||||||
|
${NSD_SetState} $Dlg1_RB_all_users ${BST_CHECKED}
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
nsDialogs::Show
|
nsDialogs::Show
|
||||||
|
@ -507,6 +556,10 @@ FunctionEnd
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
Function InstallOptionsPage1_results
|
Function InstallOptionsPage1_results
|
||||||
|
IfSilent 0 continueUI
|
||||||
|
Return
|
||||||
|
|
||||||
|
continueUI:
|
||||||
Push $R0
|
Push $R0
|
||||||
Push $R1
|
Push $R1
|
||||||
Push $R2
|
Push $R2
|
||||||
|
@ -564,7 +617,7 @@ Function InstallOptionsPage1_results
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
|
|
||||||
Call determine_install_scope
|
!insertmacro determineInstallScope 1
|
||||||
Call check_previous_install
|
Call check_previous_install
|
||||||
Pop $R2
|
Pop $R2
|
||||||
Pop $R1
|
Pop $R1
|
||||||
|
@ -820,7 +873,8 @@ Section "-Core installation"
|
||||||
;Create shortcuts
|
;Create shortcuts
|
||||||
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
||||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Arango Shell.lnk" "$INSTDIR\${BIN_DIR}\arangosh.exe" '' '$INSTDIR\resources\arangodb.ico' '0' SW_SHOWMAXIMIZED
|
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Arango Shell.lnk" "$INSTDIR\${BIN_DIR}\arangosh.exe" '' '$INSTDIR\resources\arangodb.ico' '0' SW_SHOWMAXIMIZED
|
||||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Arango Server.lnk" "$INSTDIR\${SBIN_DIR}\arangod.exe" '' '$INSTDIR\resources\arangodb.ico' '0' SW_SHOWMAXIMIZED
|
StrCpy $LaunchLink "$SMPROGRAMS\$STARTMENU_FOLDER\Arango Server.lnk"
|
||||||
|
CreateShortCut "$LaunchLink" "$INSTDIR\${SBIN_DIR}\arangod.exe" '' '$INSTDIR\resources\arangodb.ico' '0' SW_SHOWMINIMIZED
|
||||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||||
|
|
||||||
;Read a value from an InstallOptions INI file
|
;Read a value from an InstallOptions INI file
|
||||||
|
@ -863,7 +917,7 @@ Section "-Core installation"
|
||||||
FileClose $4
|
FileClose $4
|
||||||
; Alter the shipped file and insert the values from above:
|
; Alter the shipped file and insert the values from above:
|
||||||
push "$newCfgValuesFile"
|
push "$newCfgValuesFile"
|
||||||
push "$INSTDIR\etc\arangodb3\arangod.conf"
|
push "$INSTDIR\${ARANGO_INI}"
|
||||||
call ReadINIFileKeys
|
call ReadINIFileKeys
|
||||||
Delete "$newCfgValuesFile"
|
Delete "$newCfgValuesFile"
|
||||||
|
|
||||||
|
@ -890,10 +944,16 @@ Function .onInstSuccess
|
||||||
Return
|
Return
|
||||||
|
|
||||||
continueUI:
|
continueUI:
|
||||||
${If} $TRI_INSTALL_SERVICE == '1'
|
${If} $LaunchAfterInstall == '1'
|
||||||
${AndIf} $ServiceUp == 1
|
${If} $AllowGlobalInstall == "0"
|
||||||
|
ExecShell "" "$LaunchLink"
|
||||||
|
sleep 10
|
||||||
|
StrCpy $ServiceUp "1"
|
||||||
|
${EndIf}
|
||||||
|
${If} $ServiceUp == 1
|
||||||
${OpenURL} ${TRI_AARDVARK_URL}
|
${OpenURL} ${TRI_AARDVARK_URL}
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
${EndIf}
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function is_writable
|
Function is_writable
|
||||||
|
@ -924,11 +984,12 @@ FunctionEnd
|
||||||
|
|
||||||
Function insert_registration_keys
|
Function insert_registration_keys
|
||||||
ClearErrors
|
ClearErrors
|
||||||
|
${If} $AllowGlobalInstall == "1"
|
||||||
WriteRegExpandStr HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "service" "$TRI_INSTALL_SERVICE"
|
WriteRegExpandStr HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "service" "$TRI_INSTALL_SERVICE"
|
||||||
IfErrors there_are_erros
|
IfErrors there_are_erros
|
||||||
WriteRegExpandStr HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "scopeAll" "$TRI_INSTALL_SCOPE_ALL"
|
WriteRegExpandStr HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "scopeAll" "$TRI_INSTALL_SCOPE_ALL"
|
||||||
IfErrors there_are_erros
|
IfErrors there_are_erros
|
||||||
|
${EndIf}
|
||||||
Return
|
Return
|
||||||
there_are_erros: ;nothing
|
there_are_erros: ;nothing
|
||||||
MessageBox MB_OK "There was an error during adding the installation keys to the registry$\nArango will work fine but there may be trouble during the deinstallation$\nplease contact @CPACK_NSIS_CONTACT@"
|
MessageBox MB_OK "There was an error during adding the installation keys to the registry$\nArango will work fine but there may be trouble during the deinstallation$\nplease contact @CPACK_NSIS_CONTACT@"
|
||||||
|
@ -955,8 +1016,12 @@ Function un.onInit
|
||||||
|
|
||||||
Pop $0
|
Pop $0
|
||||||
SetShellVarContext current
|
SetShellVarContext current
|
||||||
|
StrCpy $TRI_INSTALL_SERVICE "0"
|
||||||
|
StrCpy $TRI_INSTALL_SCOPE_ALL "0"
|
||||||
|
${If} $AllowGlobalInstall == "1"
|
||||||
ReadRegStr $TRI_INSTALL_SERVICE HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "service"
|
ReadRegStr $TRI_INSTALL_SERVICE HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "service"
|
||||||
ReadRegStr $TRI_INSTALL_SCOPE_ALL HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "scopeAll"
|
ReadRegStr $TRI_INSTALL_SCOPE_ALL HKCC "Software\@CPACK_NSIS_PACKAGE_NAME@" "scopeAll"
|
||||||
|
${EndIf}
|
||||||
|
|
||||||
${If} $TRI_INSTALL_SCOPE_ALL == 1
|
${If} $TRI_INSTALL_SCOPE_ALL == 1
|
||||||
SetShellVarContext all
|
SetShellVarContext all
|
||||||
|
@ -1142,6 +1207,26 @@ var allPathOpts
|
||||||
var CMDINSTDIR
|
var CMDINSTDIR
|
||||||
|
|
||||||
Function .onInit
|
Function .onInit
|
||||||
|
UserInfo::GetAccountType
|
||||||
|
pop $0
|
||||||
|
${If} $0 == "admin"
|
||||||
|
StrCpy $AllowGlobalInstall "1"
|
||||||
|
${Else}
|
||||||
|
StrCpy $AllowGlobalInstall "0"
|
||||||
|
${EndIf}
|
||||||
|
|
||||||
|
${GetParameters} $R0
|
||||||
|
ClearErrors
|
||||||
|
${GetOptions} $R0 "/INSTALL_SCOPE_ALL=" $0
|
||||||
|
${If} $0 == "1"
|
||||||
|
StrCpy $TRI_INSTALL_SCOPE_ALL "1"
|
||||||
|
StrCpy $TRI_INSTALL_SERVICE "1"
|
||||||
|
${Else}
|
||||||
|
StrCpy $TRI_INSTALL_SCOPE_ALL "0"
|
||||||
|
StrCpy $TRI_INSTALL_SERVICE "0"
|
||||||
|
${EndIf}
|
||||||
|
|
||||||
|
!insertmacro determineInstallScope 1
|
||||||
|
|
||||||
${GetParameters} $R0
|
${GetParameters} $R0
|
||||||
ClearErrors
|
ClearErrors
|
||||||
|
@ -1153,11 +1238,17 @@ Function .onInit
|
||||||
${GetParameters} $R0
|
${GetParameters} $R0
|
||||||
ClearErrors
|
ClearErrors
|
||||||
${GetOptions} $R0 "/INSTDIR=" $CMDINSTDIR
|
${GetOptions} $R0 "/INSTDIR=" $CMDINSTDIR
|
||||||
IfErrors +2 0
|
IfErrors noInstDir 0
|
||||||
|
IfSilent 0 noInstDir # If not silent, empty inst dir isn't important here.
|
||||||
StrCpy $INSTDIR "$CMDINSTDIR"
|
StrCpy $INSTDIR "$CMDINSTDIR"
|
||||||
|
StrLen $0 "$INSTDIR"
|
||||||
|
${If} $0 < 3
|
||||||
|
MessageBox MB_OK 'Refusing to install flat on drive "$INSTDIR"'
|
||||||
|
Abort
|
||||||
|
${EndIf}
|
||||||
|
noInstDir:
|
||||||
|
|
||||||
# we only want to manipulate APPDIR here if /APPDIR is really set!
|
# we only want to manipulate APPDIR here if /APPDIR is really set!
|
||||||
StrCpy $APPDIR "$INSTDIR\var\lib\arangodb3"
|
|
||||||
${GetParameters} $R0
|
${GetParameters} $R0
|
||||||
ClearErrors
|
ClearErrors
|
||||||
${GetOptions} $R0 "/APPDIR=" $CMDINSTDIR
|
${GetOptions} $R0 "/APPDIR=" $CMDINSTDIR
|
||||||
|
@ -1188,26 +1279,7 @@ Function .onInit
|
||||||
IfErrors 0 +2
|
IfErrors 0 +2
|
||||||
StrCpy $ADD_TO_PATH "0"
|
StrCpy $ADD_TO_PATH "0"
|
||||||
|
|
||||||
${GetOptions} $R0 "/INSTALL_SCOPE_ALL=" $0
|
|
||||||
${If} $0 == 1
|
|
||||||
StrCpy $TRI_INSTALL_SCOPE_ALL "1"
|
|
||||||
${Else}
|
|
||||||
StrCpy $TRI_INSTALL_SCOPE_ALL "0"
|
|
||||||
${EndIf}
|
|
||||||
|
|
||||||
IfSilent 0 dontFetchPath
|
|
||||||
${GetParameters} $R0
|
|
||||||
ClearErrors
|
|
||||||
StrCpy $TRI_INSTALL_SERVICE "1"
|
|
||||||
${GetOptions} $R0 "/INSTALL_SERVICE=" $TRI_INSTALL_SERVICE
|
|
||||||
|
|
||||||
StrLen $0 "$INSTDIR"
|
|
||||||
${If} $0 < 3
|
|
||||||
MessageBox MB_OK 'Refusing to install flat on drive "$INSTDIR"'
|
|
||||||
Abort
|
|
||||||
${EndIf}
|
|
||||||
StrCmp "@CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL@" "ON" 0 inst
|
StrCmp "@CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL@" "ON" 0 inst
|
||||||
dontFetchPath:
|
|
||||||
|
|
||||||
ReadRegStr $0 HKLM "${TRI_UNINSTALL_REG_PATH}" "UninstallString"
|
ReadRegStr $0 HKLM "${TRI_UNINSTALL_REG_PATH}" "UninstallString"
|
||||||
StrCmp $0 "" inst
|
StrCmp $0 "" inst
|
||||||
|
|
|
@ -27,18 +27,25 @@ install(DIRECTORY "${ICON_PATH}" DESTINATION "resources")
|
||||||
file(TO_NATIVE_PATH "resources/arangodb.ico" RELATIVE_ARANGO_ICON)
|
file(TO_NATIVE_PATH "resources/arangodb.ico" RELATIVE_ARANGO_ICON)
|
||||||
file(TO_NATIVE_PATH "${ICON_PATH}arangodb.bmp" ARANGO_IMG)
|
file(TO_NATIVE_PATH "${ICON_PATH}arangodb.bmp" ARANGO_IMG)
|
||||||
file(TO_NATIVE_PATH "${ICON_PATH}/arangodb.ico" ARANGO_ICON)
|
file(TO_NATIVE_PATH "${ICON_PATH}/arangodb.ico" ARANGO_ICON)
|
||||||
|
file(TO_NATIVE_PATH "${ICON_PATH}/arangodb_big.bmp" ARANGO_BIG_ICON)
|
||||||
|
file(TO_NATIVE_PATH "${ICON_PATH}/arangodb_welcomefinish.bmp" ARANGO_GRAPH_ICON)
|
||||||
|
|
||||||
STRING(REGEX REPLACE "/" "\\\\\\\\" W_SBIN_DIR "${CMAKE_INSTALL_SBINDIR}")
|
STRING(REGEX REPLACE "/" "\\\\\\\\" W_SBIN_DIR "${CMAKE_INSTALL_SBINDIR}")
|
||||||
STRING(REGEX REPLACE "/" "\\\\\\\\" W_BIN_DIR "${CMAKE_INSTALL_BINDIR}")
|
STRING(REGEX REPLACE "/" "\\\\\\\\" W_BIN_DIR "${CMAKE_INSTALL_BINDIR}")
|
||||||
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" RELATIVE_ARANGO_ICON "${RELATIVE_ARANGO_ICON}")
|
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" RELATIVE_ARANGO_ICON "${RELATIVE_ARANGO_ICON}")
|
||||||
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_IMG "${ARANGO_IMG}")
|
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_IMG "${ARANGO_IMG}")
|
||||||
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_ICON "${ARANGO_ICON}")
|
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_ICON "${ARANGO_ICON}")
|
||||||
|
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_BIG_ICON "${ARANGO_BIG_ICON}")
|
||||||
|
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_GRAPH_ICON "${ARANGO_GRAPH_ICON}")
|
||||||
|
|
||||||
set(CPACK_PACKAGE_ICON ${ARANGO_ICON})
|
set(CPACK_PACKAGE_ICON ${ARANGO_ICON})
|
||||||
set(CPACK_NSIS_MUI_ICON ${ARANGO_ICON})
|
set(CPACK_NSIS_MUI_ICON ${ARANGO_ICON})
|
||||||
set(CPACK_NSIS_MUI_UNIICON ${ARANGO_ICON})
|
set(CPACK_NSIS_MUI_UNIICON ${ARANGO_ICON})
|
||||||
set(CPACK_NSIS_INSTALLED_ICON_NAME ${RELATIVE_ARANGO_ICON})
|
set(CPACK_NSIS_INSTALLED_ICON_NAME ${RELATIVE_ARANGO_ICON})
|
||||||
|
|
||||||
|
set(CPACK_NSIS_HEADER_ICON ${ARANGO_BIG_ICON})
|
||||||
|
set(CPACK_NSIS_PAGE_ICON ${ARANGO_GRAPH_ICON})
|
||||||
|
set(CPACK_NSIS_INSTALLER_ICON_CODE ${ARANGO_BIG_ICON})
|
||||||
message(STATUS "RELATIVE_ARANGO_ICON: ${RELATIVE_ARANGO_ICON}")
|
message(STATUS "RELATIVE_ARANGO_ICON: ${RELATIVE_ARANGO_ICON}")
|
||||||
message(STATUS "ARANGO_IMG: ${ARANGO_IMG}")
|
message(STATUS "ARANGO_IMG: ${ARANGO_IMG}")
|
||||||
message(STATUS "ARANGO_ICON: ${ARANGO_ICON}")
|
message(STATUS "ARANGO_ICON: ${ARANGO_ICON}")
|
||||||
|
|
Loading…
Reference in New Issue