Make XML Tools plugin work with Notepad++

libxmlnotepad

I downloaded the latest Notepad++ from the official website, then tried different libxml.dll files to make XML Tools plugin work. Last one I tried was from here (should be official rep):

So when I unpack a DLL from the above 7z archive (x64), and start an instance of Notepad++, I'm getting this error:

enter image description here

Any ideas on how to fix this issue?

I'm open to suggestions on downgrading my Notepad++, just need to know which version.

Best Answer

When you get into this kind of scenario, you have probably done the install of the required dependencies wrong. Things to look for:

  1. If your Notepad++ is a 32-bit executable, you must not have 64-bit DLLs (or vice versa). The bitness of the DLLs and the bitness of notepad++.exe must match (32-bit to 32-bit, or 64-bit to 64-bit).

  2. Make sure you don't have XMLTools.dll sitting in the base directory where the notepad++.exe lives.

  3. Make sure you don't have any of the four XMLTools.dll dependencies sitting in the plugins directory! The plugins directory is only for actual Notepad++ plugins; any other DLLs sitting in the plugins directory will be dynamically loaded by Notepad++ and attempted to be activated as plugins. But, since libxml2, iconv, etc. are not actual plugins, but rather, dependencies for XMLTools, the dynamic load will fail, because these DLLs do not have the Notepad++ plugin hooks. This will cause weird errors about "ANSI" and stuff.

  4. If you don't have any other plugins installed that require native dependencies, you can safely delete any DLL file in the same directory as the notepad++.exe, except for SciLexer.dll. SciLexer is a core component of Notepad++ and must be kept.

  5. If you haven't done this yet, look in \path_to_your_notepad++_installation\notepad++\plugins\ext_libs

Copy those DLLs to the same directory as notepad++.exe:

iconv.dll
libxml2.dll
libxslt.dll
zlib1.dll
Related Question