install notepad++ plugin without admin rights



  • Hi All,

    We deploy Notepad++ to the end user vis SCCM. There is a requirement to provide end user " doesn’t have Admin Rights" to install Plugins by themselves.

    However when then do it, it gives the below message and ask for Admin Credentials.

    Notepad++ is about to exit

    If you click YES, you will quit Notepad++ to continue the operations.
    Notepad++ will be restarted after all the operations are terminated.
    Continue?

    Yes No

    Is there any way to to provide end users the rights “without admin creds” to install Plugins of their choice?

    Any help on this would be highly appreciated.
    Thanks,
    Soumitra



  • Adding to the above note.

    I also tried to install the Notepad++ in %appdata% which is putting all the files in C:\Users<username>\AppData\Roaming\Notepad++

    but still can’t able to Install the plugins without Admin rights…



  • welcome to the notepad++ community, @Soumitra-Chakraborty

    yes.

    there are quite a few ways to accomplish installing or deploying notepad++ in a way that users can install their own plugins using the built in plugins admin, without admin rights and without triggering uac.

    i personally use the following modes:

    option 1:

    • use the npp.7.6.3.Installer.exe or npp.7.6.3.Installer.x64.exe (x86 or x64 is completely of your choice)

    • install notepad++ 7.6.3 to %ProgramData%\Notepad++
      important: when installing, make sure you select Don't use %AppData%.

    • this will install notepad++ in a way, that all users on this specific machine have the right to install plugins, as long as they have permissions to that folder.
      note: all local users will share the same plugins and settings.
      (you can also choose any other folder, where all or specific users have access to, as long as you don’t use e.g. %ProgramFiles% or %ProgramFiles(x86)% )

    option 2:

    • download a portable notepad++ version, for example npp.7.6.3.bin.zip

    • extract and deploy to any location you like, e.g. %AppData%\Notepad++ for all required users.

    • this way you will be able to have completely isolated instances for each user.
      but you will have to deploy all file associations, shortcut icons, and the “open with notepad++” context menu separately.

    there are more ways to accomplish this.
    feel free to play around with any variation you can think of.

    i guess the important thing to know is, that you have to install selecting don't use appdata, which creates a file called doLocalConf.xml at your install folder.
    all portable versions have doLocalConf.xml present by default.



  • @Meta-Chuh Thanks for Warm Welcome and Providing the solution.

    I tried the Option 1 with using the following Batch command :

    npp.7.6.2.Installer.exe /S /D=%ProgramData%\Notepad++\

    ping localhost -n 10

    xcopy “allowAppDataPlugins.xml” “%ProgramData%\Notepad++” /Y /I

    xcopy “config.model.xml” “%ProgramData%\Notepad++” /Y /I

    xcopy “PluginManager.dll” “%ProgramData%\Notepad++” /Y /I

    xcopy “NppTextFX.dll” “%ProgramData%\Notepad++” /Y /I

    xcopy “gpup.exe” “%ProgramData%\Notepad++\updater” /Y /I


    Notepad++ gets installed however when I again try to install a Plugin for e.g for TextFX Character it again prompts for Admin Rights.



  • @Soumitra-Chakraborty

    you are very welcome.
    thanks for your detailed report.

    important notes:

    • it is not recommended to use 7.6.2 for deployment, as the plugin folder structure differs and hence is not compatible with 7.6.3 and future versions.

    • you must not deploy or use “PluginManager.dll”, as it is not compatible with notepad++ versions 7.6 and above, and will write to the wrong folder locations.
      please use the official built in “plugins admin” only.
      (the author of the old “Plugin Manager” did not make any adaptations or updates to his project since september last year)


    ps: i will re-check installing 7.6.2 and 7.6.3 to %ProgramData% later today, install various plugins at a user level, e.g. TextFX Characters, and report back to you on any success or failure.

    best regards.



  • @Soumitra-Chakraborty

    i have successfully re-tested a %ProgramData% installation of 7.6.3. 32 bit on windows 10 and windows 7.
    (also successfully re-tested using 7.6.2, but please do not deploy that)

    i have also corrected and adapted your script for notepad++ 7.6.3 and above:

    • automatic creation of doLocalConf.xml (important, as stated above)
    • removed allowAppDataPlugins.xml (deprecated)
    • removed PluginManager and gpup (deprecated)
    • changed the paths of demo plugins to be deployed (TextFX)
      (original template plugins have to be at your plugin script location within a folder plugins\PluginName\ for each)
    • conducted testing of this script on a blank windows 10 pro x64, and installing/removing plugins at user level using the built in Plugins Admin (all with success)

    here is your adapted script:

    npp.7.6.3.Installer.exe /S /D=%ProgramData%\Notepad++\
    
    ping localhost -n 10 > nul
    
    type nul > "%ProgramData%\Notepad++\doLocalConf.xml"
    
    xcopy "config.model.xml" "%ProgramData%\Notepad++\" /Y /I
    
    xcopy "plugins\NppTextFX\NppTextFX.dll" "%ProgramData%\Notepad++\plugins\NppTextFX\" /Y /I
    
    ping localhost -n 10 > nul
    

    happy testing 😃



  • FANTASTIC!!!

    It worked flawlessly!!! Thank you so much @Meta-Chuh

    I owe you a beer :)



  • @Soumitra-Chakraborty

    any time ;-)



  • Thank you very much for posting this solution, it is very useful.

    How about security? As I understand all those changes in the plugins system has been made to make notepad++ more secure. Isn’t putting the whole application to ProgamData a risk from the security perspective?

    Best Regards
    Arek



  • @A-Kraw

    Isn’t putting the whole application to ProgamData a risk from the security perspective?

    yes it is, as the respective users have permission to modify that location, hence also the ability to install plugins without administrative rights.

    but in scenarios like these, where the enterprise authority explicitly grants specific users the permission to install plugins without admin rights, shifting notepad++ or any other application to %ProgamData%, presents a lesser security risk, than to give every concerned user local administrator permissions.


Log in to reply