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
|
||||
"${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>
|
||||
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}")
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
Var MUI_TEMP
|
||||
Var STARTMENU_FOLDER
|
||||
Var SV_ALLUSERS
|
||||
|
||||
;--------------------------------
|
||||
;Include Modern UI
|
||||
|
@ -23,7 +24,17 @@
|
|||
|
||||
;--------------------------------
|
||||
; 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
|
||||
StrCpy $SV_ALLUSERS "JustMe"
|
||||
StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||
|
||||
ClearErrors
|
||||
UserInfo::GetName
|
||||
|
@ -34,19 +45,23 @@ Function .onInit
|
|||
StrCmp $1 "Admin" 0 +3
|
||||
SetShellVarContext all
|
||||
;MessageBox MB_OK 'User "$0" is in the Admin group'
|
||||
StrCpy $SV_ALLUSERS "AllUsers"
|
||||
Goto done
|
||||
StrCmp $1 "Power" 0 +3
|
||||
SetShellVarContext all
|
||||
;MessageBox MB_OK 'User "$0" is in the Power Users group'
|
||||
StrCpy $SV_ALLUSERS "AllUsers"
|
||||
Goto done
|
||||
|
||||
noLM:
|
||||
;Get installation folder from registry if available
|
||||
noLM:
|
||||
StrCpy $SV_ALLUSERS "AllUsers"
|
||||
;Get installation folder from registry if available
|
||||
|
||||
done:
|
||||
done:
|
||||
StrCmp $SV_ALLUSERS "AllUsers" 0 +2
|
||||
StrCpy $INSTDIR "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||
FunctionEnd
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;General
|
||||
|
||||
|
@ -331,13 +346,11 @@ FunctionEnd
|
|||
|
||||
Section "Add to path"
|
||||
Push $INSTDIR\bin
|
||||
Call AddToPath
|
||||
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 +2
|
||||
Call AddToPath
|
||||
SectionEnd
|
||||
|
||||
Section
|
||||
SectionEnd
|
||||
|
||||
Section "Dummy Section" SecDummy
|
||||
Section "Installer Section" InstSection
|
||||
|
||||
;Use the entire tree produced by the INSTALL target. Keep the
|
||||
;list of directories here in sync with the RMDir commands below.
|
||||
|
@ -383,10 +396,10 @@ Function un.onInit
|
|||
;MessageBox MB_OK 'User "$0" is in the Power Users group'
|
||||
Goto done
|
||||
|
||||
noLM:
|
||||
;Get installation folder from registry if available
|
||||
noLM:
|
||||
;Get installation folder from registry if available
|
||||
|
||||
done:
|
||||
done:
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
|
@ -431,8 +444,8 @@ Section "Uninstall"
|
|||
DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
|
||||
|
||||
Push $INSTDIR\bin
|
||||
Call un.RemoveFromPath
|
||||
|
||||
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 +2
|
||||
Call un.RemoveFromPath
|
||||
SectionEnd
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue