ENH: use radio buttons to choose PATH options
This commit is contained in:
parent
da8403a163
commit
5b3a2c84fc
|
@ -1,5 +1,5 @@
|
||||||
[Settings]
|
[Settings]
|
||||||
NumFields=3
|
NumFields=4
|
||||||
|
|
||||||
[Field 1]
|
[Field 1]
|
||||||
Type=label
|
Type=label
|
||||||
|
@ -10,20 +10,28 @@ Top=0
|
||||||
Bottom=20
|
Bottom=20
|
||||||
|
|
||||||
[Field 2]
|
[Field 2]
|
||||||
Type=checkbox
|
Type=radiobutton
|
||||||
Text=Check this option to add the path to the system PATH
|
Text=Do not add @CPACK_PACKAGE_NAME@ to the system PATH
|
||||||
Left=0
|
Left=0
|
||||||
Right=-1
|
Right=-1
|
||||||
Top=30
|
Top=30
|
||||||
Bottom=40
|
Bottom=40
|
||||||
State=0
|
State=1
|
||||||
|
|
||||||
[Field 3]
|
[Field 3]
|
||||||
Type=checkbox
|
Type=radiobutton
|
||||||
Text=If administrator, add to the PATH for all users.
|
Text=Add @CPACK_PACKAGE_NAME@ to the system PATH for all users
|
||||||
Left=0
|
Left=0
|
||||||
Right=-1
|
Right=-1
|
||||||
Top=40
|
Top=40
|
||||||
Bottom=50
|
Bottom=50
|
||||||
State=1
|
State=0
|
||||||
|
|
||||||
|
[Field 4]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Add @CPACK_PACKAGE_NAME@ to the system PATH for current user
|
||||||
|
Left=0
|
||||||
|
Right=-1
|
||||||
|
Top=50
|
||||||
|
Bottom=60
|
||||||
|
State=0
|
||||||
|
|
|
@ -14,8 +14,9 @@
|
||||||
Var STARTMENU_FOLDER
|
Var STARTMENU_FOLDER
|
||||||
Var SV_ALLUSERS
|
Var SV_ALLUSERS
|
||||||
Var START_MENU
|
Var START_MENU
|
||||||
Var ADD_TO_PATH
|
Var DO_NOT_ADD_TO_PATH
|
||||||
Var ADD_TO_PATH_ALL_USERS
|
Var ADD_TO_PATH_ALL_USERS
|
||||||
|
Var ADD_TO_PATH_CURRENT_USER
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Include Modern UI
|
;Include Modern UI
|
||||||
|
@ -66,6 +67,7 @@ Function .onInit
|
||||||
|
|
||||||
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
|
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
|
||||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
|
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
|
||||||
|
|
||||||
noOptionsPage:
|
noOptionsPage:
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
|
@ -441,9 +443,10 @@ FunctionEnd
|
||||||
Section "Add to path"
|
Section "Add to path"
|
||||||
Push $INSTDIR\bin
|
Push $INSTDIR\bin
|
||||||
;Read a value from an InstallOptions INI file
|
;Read a value from an InstallOptions INI file
|
||||||
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
|
!insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
|
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
|
||||||
StrCmp $ADD_TO_PATH "1" 0 doNotAddToPath
|
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State"
|
||||||
|
StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
|
||||||
Call AddToPath
|
Call AddToPath
|
||||||
doNotAddToPath:
|
doNotAddToPath:
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
@ -498,12 +501,15 @@ Section "Installer Section" InstSection
|
||||||
Push "StartMenu"
|
Push "StartMenu"
|
||||||
Push "$STARTMENU_FOLDER"
|
Push "$STARTMENU_FOLDER"
|
||||||
Call ConditionalAddToRegisty
|
Call ConditionalAddToRegisty
|
||||||
Push "AddToPath"
|
Push "DoNotAddToPath"
|
||||||
Push "$ADD_TO_PATH"
|
Push "$DO_NOT_ADD_TO_PATH"
|
||||||
Call ConditionalAddToRegisty
|
Call ConditionalAddToRegisty
|
||||||
Push "AddToPathAllUsers"
|
Push "AddToPathAllUsers"
|
||||||
Push "$ADD_TO_PATH_ALL_USERS"
|
Push "$ADD_TO_PATH_ALL_USERS"
|
||||||
Call ConditionalAddToRegisty
|
Call ConditionalAddToRegisty
|
||||||
|
Push "AddToPathCurrentUser"
|
||||||
|
Push "$ADD_TO_PATH_CURRENT_USER"
|
||||||
|
Call ConditionalAddToRegisty
|
||||||
|
|
||||||
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
|
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
|
||||||
|
|
||||||
|
@ -516,6 +522,7 @@ SectionEnd
|
||||||
Function InstallOptionsPage
|
Function InstallOptionsPage
|
||||||
!insertmacro MUI_HEADER_TEXT "Install Options" "Chose options for installing @CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
!insertmacro MUI_HEADER_TEXT "Install Options" "Chose options for installing @CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
|
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
|
||||||
|
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
@ -550,11 +557,13 @@ Section "Uninstall"
|
||||||
ReadRegStr $START_MENU SHCTX \
|
ReadRegStr $START_MENU SHCTX \
|
||||||
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "StartMenu"
|
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "StartMenu"
|
||||||
;MessageBox MB_OK "Start menu is in: $START_MENU"
|
;MessageBox MB_OK "Start menu is in: $START_MENU"
|
||||||
ReadRegStr $ADD_TO_PATH SHCTX \
|
ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \
|
||||||
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "AddToPath"
|
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "DoNotAddToPath"
|
||||||
ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
|
ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
|
||||||
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "AddToPathAllUsers"
|
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "AddToPathAllUsers"
|
||||||
;MessageBox MB_OK "Add to path: $ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
|
ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \
|
||||||
|
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "AddToPathCurrentUser"
|
||||||
|
;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
|
||||||
|
|
||||||
@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
|
@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
|
||||||
|
|
||||||
|
@ -613,7 +622,7 @@ 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 $ADD_TO_PATH "1" 0 doNotRemoveFromPath
|
StrCmp $DO_NOT_ADD_TO_PATH_ "1" doNotRemoveFromPath 0
|
||||||
Call un.RemoveFromPath
|
Call un.RemoveFromPath
|
||||||
doNotRemoveFromPath:
|
doNotRemoveFromPath:
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
Loading…
Reference in New Issue