Are there hidden dangers in ignoring some auxiliary files in Npp updates?



  • Are there lurking problems to be encountered if I ignore any of the following files when I update an Npp installation?

    ├───plugins
    │   ├───Config
    │   │       nppPluginList.dll
    │   │
    │   ├───mimeTools
    │   │       mimeTools.dll
    │   │
    │   ├───NppConverter
    │   │       NppConverter.dll
    │   │
    │   └───NppExport
    │           NppExport.dll
    │
    └───updater
            GUP.exe
            libcurl.dll
    

    I’m not referring to missing out on feature changes because one or more of these files were actually updated at the source code level (which I hope will be reflected in the version ID strings). Instead, is there some point where Npp will refuse to do something
    because I was remiss and did not always use the latest version? My guess is these files are changed because the build system touches the source files and that causes some sort of update in certificate/authentication support. I’ve not noticed any editor problems to date using a slightly older Npp .exe (v7.95 & SciLexer.dll) inside a more recent setup (v8.13rc).



  • @artie-finkelstein ,

    I have never tried to mix-and-match those, so this is just educated guessing.

    I cannot see a real reason for GUP/libcurl to be incompatible. The actual default plugins should continue to work (and it’s only their functionality that wouldn’t update, so nothing catastrophic to Notepad++ itself). The biggest drawback in not updating nppPluginList.dll would be that you wouldn’t see the most recent list of plugins, so you wouldn’t be notified that there is a new version of PluginX that actually supports the fluent icons when your PluginX vOld.And.Crusty doesn’t.

    I’ve not noticed any editor problems to date using a slightly older Npp .exe (v7.95 & SciLexer.dll) inside a more recent setup (v8.13rc).

    That’s exactly the opposite situation from what you described originally, because now all the support files are newer than the executable. I cannot see any reason for doing that, because none of the updates in config files would be meaningful to the older executable. Having a newer nppPluginList.dll than your Notepad++ should work fine, except in the case when it lists some plugin that requires a feature found only in newer notepad++.exe (uses one of the new messages, for example; or requires a feature of Scintilla X when you are still in a Notepad++ using Scintilla X-n)



  • @PeterJones
    Thank you.

    I didn’t consider that nppPluginList.dll was at least the data (and possibly the brains) behind the Plugin Admin system. I would indeed miss the ability to look for newer plugins.

    The contradiction comes about because so far I’ve kept those DLLs updated, even if they didn’t seem to change as nothing was mentioned in the release change notes. I was inquiring about implications for future releases. I realize what I’m asking is in a grey area, but that’s why I asked before I had to dig myself out of a self generated problem that I could have avoided.

    The 7.95 exe is there for quick checks when something seems different and I want to look a bit further. (It’s also the last non ‘dark mode’ version.) If the suspected difference is there, I then reinstall a proper portable setup to dig further.

    Just for “fun” I dropped a 7.62 exe & it’s SciLexer.dll (3.56) into the 8.13rc setup. It complained about a missing Lua.dll & then informed me the installed LuaScript plugin was not compatible. Adding a symlink solved that complaint. (It wan’t until 7.8 that Npp allowed loading private DLL files from the plugin installation folder.) Because that ‘was so much fun’ I tried to push it further and mistakenly used 6.0 instead of 7.6 (the first Plugins Admin version). It sorta worked: there were no plugins ('cause I was a dummy) and the config.xml did not seem to be used (my default background color was not used). I did not investigate further.

    FYI: The Npp/Scintilla versions seem be limited in both directions. Npp 7.62 will not load if Scintilla 4.46 is the available version (as used in Npp 7.95); instead it complains about an Authenticode check, then a WM_CREATE exception about not being able to load a dynamic library and then quits. It seems Npp 7.62 really, really wants to see SciLexer.dll v3.56. I found that out when I forgot to rename the correct SciLexer.dll to match the Npp version.

    BTW: I consider your educated guesses much more useful than my wishful self-justifications.

    Thank you.



  • Both plugins and GUP are almost independent of the main Notepad++ application.
    They usually are updated separately.
    For example, if you take a look at this GUP page, you can see the last update was in May:
    https://github.com/notepad-plus-plus/wingup
    The same for plugins (if you’ll look to their corresponding pages).

    So, if it’s crucial for you, you can ignore plugin updates if you don’t use them.
    If you don’t use the auto update as well, you can ignore GUP too.
    Usually, updates to these parts of Notepad++ are mentioned in release notes.


Log in to reply