Add the option to installer for installing the plugins in %PROGRAMDATA%
This commit is contained in:
parent
61402a354f
commit
44baa33d1e
|
@ -41,6 +41,8 @@ SetCompressor /SOLID lzma ; This reduces installer size by approx 30~35%
|
||||||
; Installer is DPI-aware: not scaled by the DWM, no blurry text
|
; Installer is DPI-aware: not scaled by the DWM, no blurry text
|
||||||
ManifestDPIAware true
|
ManifestDPIAware true
|
||||||
|
|
||||||
|
Var arePlugins4AllUsers
|
||||||
|
|
||||||
!include "nsisInclude\winVer.nsh"
|
!include "nsisInclude\winVer.nsh"
|
||||||
!include "nsisInclude\globalDef.nsh"
|
!include "nsisInclude\globalDef.nsh"
|
||||||
!include "nsisInclude\tools.nsh"
|
!include "nsisInclude\tools.nsh"
|
||||||
|
@ -118,6 +120,7 @@ InstType "Minimalist"
|
||||||
|
|
||||||
Var diffArchDir2Remove
|
Var diffArchDir2Remove
|
||||||
Var noUpdater
|
Var noUpdater
|
||||||
|
|
||||||
Function .onInit
|
Function .onInit
|
||||||
|
|
||||||
${GetParameters} $R0
|
${GetParameters} $R0
|
||||||
|
@ -130,6 +133,16 @@ withoutUpdater:
|
||||||
StrCpy $noUpdater "true"
|
StrCpy $noUpdater "true"
|
||||||
updaterDone:
|
updaterDone:
|
||||||
|
|
||||||
|
${GetOptions} $R0 "/pliginsForAllUsers" $R1 ;case insensitive
|
||||||
|
IfErrors withoutPlugins4AllUsers withPlugins4AllUsers
|
||||||
|
withPlugins4AllUsers:
|
||||||
|
StrCpy $arePlugins4AllUsers "true"
|
||||||
|
Goto plugins4AllUsersDone
|
||||||
|
withoutPlugins4AllUsers:
|
||||||
|
StrCpy $arePlugins4AllUsers "false"
|
||||||
|
plugins4AllUsersDone:
|
||||||
|
|
||||||
|
|
||||||
${If} $noUpdater == "true"
|
${If} $noUpdater == "true"
|
||||||
!insertmacro UnSelectSection ${AutoUpdater}
|
!insertmacro UnSelectSection ${AutoUpdater}
|
||||||
SectionSetText ${AutoUpdater} ""
|
SectionSetText ${AutoUpdater} ""
|
||||||
|
@ -137,6 +150,7 @@ updaterDone:
|
||||||
SectionSetText ${PluginsAdmin} ""
|
SectionSetText ${PluginsAdmin} ""
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
|
|
||||||
${If} ${SectionIsSelected} ${PluginsAdmin}
|
${If} ${SectionIsSelected} ${PluginsAdmin}
|
||||||
!insertmacro SetSectionFlag ${AutoUpdater} ${SF_RO}
|
!insertmacro SetSectionFlag ${AutoUpdater} ${SF_RO}
|
||||||
!insertmacro SelectSection ${AutoUpdater}
|
!insertmacro SelectSection ${AutoUpdater}
|
||||||
|
|
|
@ -56,6 +56,16 @@ initUpdatePath:
|
||||||
StrCpy $UPDATE_PATH "$APPDATA\${APPNAME}"
|
StrCpy $UPDATE_PATH "$APPDATA\${APPNAME}"
|
||||||
CreateDirectory $UPDATE_PATH\plugins\config
|
CreateDirectory $UPDATE_PATH\plugins\config
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
|
; override PLUGIN_INST_PATH
|
||||||
|
${If} $arePlugins4AllUsers == "true"
|
||||||
|
ReadEnvStr $0 "ALLUSERSPROFILE"
|
||||||
|
StrCpy $PLUGIN_INST_PATH "$0\Notepad++\plugins"
|
||||||
|
File /oname=$INSTDIR\pluginsForAllUsers.xml "..\bin\pluginsForAllUsers_dummy.xml"
|
||||||
|
${ELSE}
|
||||||
|
Delete $INSTDIR\pluginsForAllUsers.xml
|
||||||
|
${EndIf}
|
||||||
|
|
||||||
alreadyDone:
|
alreadyDone:
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,7 @@ FunctionEnd
|
||||||
;Installer Functions
|
;Installer Functions
|
||||||
Var Dialog
|
Var Dialog
|
||||||
Var NoUserDataCheckboxHandle
|
Var NoUserDataCheckboxHandle
|
||||||
|
Var Plugin4AllUsersCheckboxHandle
|
||||||
Var ShortcutCheckboxHandle
|
Var ShortcutCheckboxHandle
|
||||||
Var WinVer
|
Var WinVer
|
||||||
|
|
||||||
|
@ -98,7 +99,14 @@ Function ExtraOptions
|
||||||
${NSD_Check} $ShortcutCheckboxHandle
|
${NSD_Check} $ShortcutCheckboxHandle
|
||||||
${NSD_OnClick} $ShortcutCheckboxHandle OnChange_ShortcutCheckBox
|
${NSD_OnClick} $ShortcutCheckboxHandle OnChange_ShortcutCheckBox
|
||||||
|
|
||||||
${NSD_CreateCheckbox} 0 80 100% 30u "Don't use %APPDATA%$\nEnable this option to make Notepad++ load/write the configuration files from/to its install directory. Check it if you use Notepad++ in a USB device."
|
${NSD_CreateCheckbox} 0 80 100% 30u "Check this will make your plugin installed for all users on this PC."
|
||||||
|
Pop $Plugin4AllUsersCheckboxHandle
|
||||||
|
${If} $arePlugins4AllUsers == "true"
|
||||||
|
${NSD_Check} $Plugin4AllUsersCheckboxHandle
|
||||||
|
${EndIf}
|
||||||
|
${NSD_OnClick} $Plugin4AllUsersCheckboxHandle OnChange_Plugin4AllUsersCheckBox
|
||||||
|
|
||||||
|
${NSD_CreateCheckbox} 0 160 100% 30u "Don't use %APPDATA%$\nEnable this option to make Notepad++ load/write the configuration files from/to its install directory. Check it if you use Notepad++ in a USB device."
|
||||||
Pop $NoUserDataCheckboxHandle
|
Pop $NoUserDataCheckboxHandle
|
||||||
${NSD_OnClick} $NoUserDataCheckboxHandle OnChange_NoUserDataCheckBox
|
${NSD_OnClick} $NoUserDataCheckboxHandle OnChange_NoUserDataCheckBox
|
||||||
|
|
||||||
|
@ -134,6 +142,15 @@ Function OnChange_ShortcutCheckBox
|
||||||
${NSD_GetState} $ShortcutCheckboxHandle $createShortcutChecked
|
${NSD_GetState} $ShortcutCheckboxHandle $createShortcutChecked
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
|
Function OnChange_Plugin4AllUsersCheckBox
|
||||||
|
${NSD_GetState} $ShortcutCheckboxHandle $0
|
||||||
|
${If} $0 == ${BST_CHECKED}
|
||||||
|
StrCpy $arePlugins4AllUsers "true"
|
||||||
|
${ELSE}
|
||||||
|
StrCpy $arePlugins4AllUsers "false"
|
||||||
|
${EndIf}
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Function writeInstallInfoInRegistry
|
Function writeInstallInfoInRegistry
|
||||||
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" "" "$INSTDIR\notepad++.exe"
|
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" "" "$INSTDIR\notepad++.exe"
|
||||||
|
|
Loading…
Reference in New Issue