Notepad++ 7.6 & new Plugins Admin
-
@donho said:
@Zanzaraaa said:
but in company environment where you have some plugins that you want or have to provide to ALL users, you just had to copy the plugins into the program files plugin folder and every user has it when he starts notepad++. no need for users to manually mess around.
OK, I see. How about an empty file
pluginsForAllUser.xml
makes Notepad++ load from %ALLUSERSPROFILE% ?also normally i delete the plugin manager after installation because we dont want users to use it to manually install or update plugins. they should only use the ones we provide.
So I will provide a simpler way for the deployment of Notepad++ - could you test to see if it’s suitable for companies?
I like the new structure of each plugin in its own subdirectory, but like Zanzaraaa, I have to manage hundreds of computers in an organization, and we cannot allow users to run executables from insecure directories like %LOCALAPPDATA% (or %APPDATA% or %TEMP%). Those directories have “Data” in the name for a reason. They are for data, not executables. The same is true for %ALLUSERSPROFILE% (aka %PROGRAMDATA%), but that would be an OK workaround if there is not a way to put the plugins under Notepad++‘s Program Files directory (not sure why this is the case). At least in the latter case, we know there is one and only one location where plugins will be, and we can lock down the permissions. Note, we still want users’ settings to be stored in %APPDATA% (or registry) so their profiles can roam from machine to machine.
I am happy to help test this, if you need it. Thanks for providing a great, free editor and for all your hard work.
P.S. I think separate x64 and x86 plugin subdirectories would be wise, but not a big deal for us.
P.P.S. In addition to the “Stable” field in the Plugins Admin list, it would be nice to have Download Count or even a User Rating, so we could get an idea of a plugin’s popularity (and to some extent, quality/safety).
-
@pnedev said:
@NoMoreFood said:
it makes sense to design it such it can safely execute the 32-bit version and a 64-bit version side-by-side on the same machine.
Why, what is the justification behind that?
Just curious.Why would you want to run two versions side-by-side? Mainly if you have plugins or other code that isn’t compiled for 64-bit / 32-bit. For somewhat similar reasons, it’s why we have ‘Program Files’ and ‘Program Files (x86)’.
-
Typically for programs with plugins on Windows, you’d see an option to allow per-user plugins at install (as install requires administrator rights) or within the application settings in a system section (which is stored under Local Machine registry or Program Files and hence require admin to change) as apposed to most application settings which are individual user preferences and stored in Current User Registry (or users %AppData%).
The application would load Plugins first from Program Files installation, and IF user plugins have been permitted then load in plugins from the users %AppData%, the user ones would overwrite or be used instead of the system installed plugins.
If user plugins are allowed, when users install plugins they go to their %AppData%, if user plugins are not allowed, then they’ll be stored under Program Files, in this instance, we still need the Plugins menu to be visible for users so they can see any plugins that have been loaded in by Administrators, and allow users to access Plugins Admin to install, update and remove plugins, initially a user would only be able to see Available, Updates and Installed Plugins, to be able to change (install/update/remove), they would have to click a “Change” button (typically has a UAC symbol) to present a UAC credential request, which then runs (relaunches?) Plugin Admin with Admin credentials so only Administrators can make plugins changes, once done and closed return to Notepad++ which is still running as a normal user context, with a prompt to restart as there have been changes to plugins.
%PROGRAMDATA% (or old school %ALLUSERSPROFILE%) is the location for shared data for an application and all users to be able to write to. It’s possible you could use this to store Plugins in for all users as a single plugin location, if you or your company don’t require the security of admin access to add a plugin, which in this day seems less likely.
What’s to stop user A on a PC loading in a malicious plugin to Notepadd++ that UserB doesn’t know is there when they next run Notepad++ on that same system?At the moment, I have to run Notepad++ 7.6 as Administrator to use or add plugins which is not ideal, prefer to be in a user context, hope this gets corrected soon.
Thanks for the great software by the way.
Additional:
@NoMoreFood said:
@pnedev said:
@NoMoreFood said:
it makes sense to design it such it can safely execute the 32-bit version and a 64-bit version side-by-side on the same machine.
Why, what is the justification behind that?
Just curious.Why would you want to run two versions side-by-side? Mainly if you have plugins or other code that isn’t compiled for 64-bit / 32-bit. For somewhat similar reasons, it’s why we have ‘Program Files’ and ‘Program Files (x86)’.
If I were to need to run both 32bit and 64bit, I’d say 32bit would be the default, but at times may require 64bit, say a particularly large log file perhaps? Not sure if it needs separate directories or if the plugin makes just have “64” in the plugin filename for the 64bit dll.
-
The reason why plugins are no longer installed to %ProgramFiles% is according to this comment of @donho the following:
The reason of installation to <Userprofile>\AppData\Local\Notepad++\plugins<plugin-name> is Microsoft’s Universal Windows Platform. A UWP package is immutable so there’s no way to install plugins into Notepad++ installation directory.
It seems like he wants to publish its own Windows Store App variant of Notepad++, thus there is no way back to installing plugins (even partially) to %ProgramFiles%.
-
@dinkumoil said:
The reason why plugins are no longer installed to %ProgramFiles% is…
Thanks for explaining that, it seems I’ve missed (or forgotten) Don’s post.
-
@dinkumoil said:
The reason why plugins are no longer installed to %ProgramFiles% is according to this comment of @donho the following:
The reason of installation to <Userprofile>\AppData\Local\Notepad++\plugins<plugin-name> is Microsoft’s Universal Windows Platform. A UWP package is immutable so there’s no way to install plugins into Notepad++ installation directory.
It seems like he wants to publish its own Windows Store App variant of Notepad++, thus there is no way back to installing plugins (even partially) to %ProgramFiles%.
I would suggest if Notepad++ can write to %ProgramFiles%, it should. If not, fall back to %ProgramData% or %LocalAppData%, as configured. If there’s ever an issue with loading plugins from multiple places, it should pick the first one it finds in %ProgramFiles%, %ProgramData%, or %LocalAppData%, in that order. User versions of plugins should no be able to replace admin-specified versions.
-
Hi @donho ,
Unfortunately here the plugins subfolder in the install folder contains in addition to the disabled subfolder the Images subfolder for the Bookmarkmanager. So if the plugins subfolder is removed in a new version, I have to recreate it copying the bookmark manager marker images - presumably the plugin needs to be modified.
I do not know if there is any other solution now. -
@László-Botka said:
Hi @donho ,
Unfortunately here the plugins subfolder in the install folder contains in addition to the disabled subfolder the Images subfolder for the Bookmarkmanager. So if the plugins subfolder is removed in a new version, I have to recreate it copying the bookmark manager marker images - presumably the plugin needs to be modified.
I do not know if there is any other solution now.Then you have to modify your plugin to adapt the new plugin folder structure. There’s no way back for this point. OTOH, I can promise you that such policy will be remained. So you won’t modify your code all the time.
-
@donho
First I’d like to thank you for all the work you’ve put into this great program and your patience with humble user requests.I’ve thought about the issue and would suggest to make the relevant paths user configurable, including the location of the standard configuration files.
For the current installation of Notepad++ 7.6, this would be:Config folder: %AppData%\Notepad++ Plugin folder: %LocalAppData%\Notepad++\plugins Plugin config: %AppData%\Notepad++\plugins\Config
or
%ProgramData%\Notepad++\plugins
, should you decide to change it.
System administrators and experienced users could tweak these paths to match their backup strategies, security concepts, etc.
A portable installation would simply use:Config folder: .\ Plugin folder: .\plugins Plugin config: .\plugins\Config
relative paths being relative to the installation folder, of course.
Developers could have multiple parallel installations of Notepad++ in 32bit and 64bit, using custom folders like:Config folder: %AppData%\Notepad++-32bit-testing Plugin folder: %LocalAppData%\Notepad++-32bit-testing\plugins Plugin config: %AppData%\Notepad++-32bit-testing\plugins\Config
or
Config folder: %SCRATCH%\Notepad++-64bit-beta Plugin folder: %SCRATCH%\Notepad++-64bit-beta\plugins Plugin config: %SCRATCH%\Notepad++-64bit-beta\plugins\Config
The effort would be an extra configuration file (that resides in the installation folder) and should satisfy most grumblers. >;-)
-
Windows 10.1709
Notepad++ 7.6, 64-bit, build 2018-11-13 00:12:05
Admin plug-in dialog, update tab:
three items listed
select one or more
click update button
It tries to download Notepad++ 7.5.9 when it should be downloading new plug-ins. -
Which list items (plugins) did you select? How do you determine that it downloads Notepad++ v7.5.9?
I have tested it with v7.6 (32 bit) on Windows 7 x64 and can not confirm this behaviour. It worked like expected and updated the selected NppSaveAsAdmin plugin.
-
Started with an install of 7.5.9.
Updated to 7.6 on top of it.Now only two entries in the update tab:
DSpellCheck 1.4.7
Npp Converter 4.2.1selected Npp
UPDATE“Select YES to quit Notepad++ and continue the operations”
YES“An update package is available, download it?”
YES“Downloading npp.7.5.9.installer.exe”
ABORT -
What is your installation directory for Notepad++? Did you select the option “Do not use %APPDATA%” during installation?
-
This one-post-per-20-minutes limit on us newbies is a killer…
I did an uninstall and re-install. This cleared up the problem.
To answer the questions:
- the install folder is the default.
- the appdata usage is allowed (unchecked).
-
@donho said:
Then you have to modify your plugin to adapt the new plugin folder structure. There’s no way back for this point. OTOH, I can promise you that such policy will be remained. So you won’t modify your code all the time.
I like this new policy, unfortunately Bookmarkmanager isn’t my plugin, I’m not a programmer, just a simple user.
I tried to say, that to see the markers during Edit, I have to copy the “images” folder to the plugins folder ( “C:\Program Files (x86)\Notepad++\plugins”) in my case, if you (the Notepad++ installer) remove it from there.
Hopefully the plugin author will modify the plugin. -
@donho There seems to be a bug in this version that does not accurately count the number of characters in a file.
I have several large script files that now show a discrepancy between the size reflected in Windows (at a CMD prompt) and with Notepad++
Other text utilities reflect the correct file size with Windows. All of them used to be in harmony just a week ago, prior to this update.
-ASB
-
please make a local test copy of one of the script files where the reported length in the notepad++ status bar doesn’t match neither the reported size in cmd nor in the explorer properties.
make sure it is on a local disk and not on a network drive.
make sure it is not in a compressed folder !then open this copy in notepad++ and check the size comparing np++ length and cmd bytes
if the sizes still differ:
open this copy in notepad++
in the np++ menu go to:
encoding > convert to ansi (or utf-8 if needed)this makes sure no additional bom header is written to the file
optionally go to:
edit > eol conversion > unix (LF)
and then back to
edit > eol conversion > windows (CR LF)this eliminates mixed line endings, in case some of your files have inconsistent end characters (mixed 2 byte crlf and either 1 byte cr or lf in some lines, as it happens if you are using different editors on different platforms for the same file.
please report back and let us know whether the sizes match after above steps or not.
-
one thing i forgot to mention:
make sure you are able to save the test copy after converting the encoding before rechecking the size.
in some rare cases you’ll see a greyed out save button after the encoding change, then please convert back and forth between ansi and utf-8 to make the save button accessible -
@donho said:
OK, I see. How about an empty file pluginsForAllUser.xml makes Notepad++ load from %ALLUSERSPROFILE% ?
It would be better to load from both locations. That we, if there are shared/global plugins they will be read from the All Profiles locations + the user-specific location where they will have unique plugins.
No need for the extra file to trigger the behavior.
-
@dinkumoil said:
The reason why plugins are no longer installed to %ProgramFiles% is according to this comment of @donho the following:
The reason of installation to <Userprofile>\AppData\Local\Notepad++\plugins<plugin-name> is Microsoft’s Universal Windows Platform. A UWP package is immutable so there’s no way to install plugins into Notepad++ installation directory.
It seems like he wants to publish its own Windows Store App variant of Notepad++, thus there is no way back to installing plugins (even partially) to %ProgramFiles%.
Oh a Windows Store App variant? Urgh… I’d rather an MSI installer for the regular Windows Notepad++ application.