ENH: Several changes to for NSIS
This commit is contained in:
parent
4077d6d80c
commit
b1b052fd23
@ -31,6 +31,10 @@ cpack_set_if_not_set(CPACK_RESOURCE_FILE_README
|
|||||||
cpack_set_if_not_set(CPACK_RESOURCE_FILE_WELCOME
|
cpack_set_if_not_set(CPACK_RESOURCE_FILE_WELCOME
|
||||||
"${CMAKE_ROOT}/Templates/CPack.GenericWelcome.txt")
|
"${CMAKE_ROOT}/Templates/CPack.GenericWelcome.txt")
|
||||||
|
|
||||||
|
IF(CPACK_NSIS_MODIFY_PATH)
|
||||||
|
SET(CPACK_NSIS_MODIFY_PATH ON)
|
||||||
|
ENDIF(CPACK_NSIS_MODIFY_PATH)
|
||||||
|
|
||||||
# <project>-<major>.<minor>.<patch>-<release>-<platform>.<pkgtype>
|
# <project>-<major>.<minor>.<patch>-<release>-<platform>.<pkgtype>
|
||||||
cpack_set_if_not_set(CPACK_PACKAGE_FILE_NAME
|
cpack_set_if_not_set(CPACK_PACKAGE_FILE_NAME
|
||||||
"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${CMAKE_SYSTEM_NAME}")
|
"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${CMAKE_SYSTEM_NAME}")
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
Var MUI_TEMP
|
Var MUI_TEMP
|
||||||
Var STARTMENU_FOLDER
|
Var STARTMENU_FOLDER
|
||||||
|
Var SV_ALLUSERS
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Include Modern UI
|
;Include Modern UI
|
||||||
@ -23,7 +24,17 @@
|
|||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
; determine admin versus local install
|
; determine admin versus local install
|
||||||
|
; Is install for "AllUsers" or "JustMe"?
|
||||||
|
; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
|
||||||
|
; This function is used for the very first "custom page" of the installer.
|
||||||
|
; This custom page does not show up visibly, but it executes prior to the
|
||||||
|
; first visible page and sets up $INSTDIR properly...
|
||||||
|
; Choose different default installation folder based on SV_ALLUSERS...
|
||||||
|
; "Program Files" for AllUsers, "My Documents" for JustMe...
|
||||||
|
|
||||||
Function .onInit
|
Function .onInit
|
||||||
|
StrCpy $SV_ALLUSERS "JustMe"
|
||||||
|
StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||||
|
|
||||||
ClearErrors
|
ClearErrors
|
||||||
UserInfo::GetName
|
UserInfo::GetName
|
||||||
@ -34,19 +45,23 @@ Function .onInit
|
|||||||
StrCmp $1 "Admin" 0 +3
|
StrCmp $1 "Admin" 0 +3
|
||||||
SetShellVarContext all
|
SetShellVarContext all
|
||||||
;MessageBox MB_OK 'User "$0" is in the Admin group'
|
;MessageBox MB_OK 'User "$0" is in the Admin group'
|
||||||
|
StrCpy $SV_ALLUSERS "AllUsers"
|
||||||
Goto done
|
Goto done
|
||||||
StrCmp $1 "Power" 0 +3
|
StrCmp $1 "Power" 0 +3
|
||||||
SetShellVarContext all
|
SetShellVarContext all
|
||||||
;MessageBox MB_OK 'User "$0" is in the Power Users group'
|
;MessageBox MB_OK 'User "$0" is in the Power Users group'
|
||||||
|
StrCpy $SV_ALLUSERS "AllUsers"
|
||||||
Goto done
|
Goto done
|
||||||
|
|
||||||
noLM:
|
noLM:
|
||||||
|
StrCpy $SV_ALLUSERS "AllUsers"
|
||||||
;Get installation folder from registry if available
|
;Get installation folder from registry if available
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
StrCmp $SV_ALLUSERS "AllUsers" 0 +2
|
||||||
|
StrCpy $INSTDIR "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;General
|
;General
|
||||||
|
|
||||||
@ -331,13 +346,11 @@ FunctionEnd
|
|||||||
|
|
||||||
Section "Add to path"
|
Section "Add to path"
|
||||||
Push $INSTDIR\bin
|
Push $INSTDIR\bin
|
||||||
|
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 +2
|
||||||
Call AddToPath
|
Call AddToPath
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
Section
|
Section "Installer Section" InstSection
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
Section "Dummy Section" SecDummy
|
|
||||||
|
|
||||||
;Use the entire tree produced by the INSTALL target. Keep the
|
;Use the entire tree produced by the INSTALL target. Keep the
|
||||||
;list of directories here in sync with the RMDir commands below.
|
;list of directories here in sync with the RMDir commands below.
|
||||||
@ -431,8 +444,8 @@ Section "Uninstall"
|
|||||||
DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
|
DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
|
||||||
|
|
||||||
Push $INSTDIR\bin
|
Push $INSTDIR\bin
|
||||||
|
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 +2
|
||||||
Call un.RemoveFromPath
|
Call un.RemoveFromPath
|
||||||
|
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user