GPGME DLL questions

I’m one of the maintainers of gpgme-sharp, a library that provides GPGME bindings for C#. I had a few questions about the GPGME DLL:

  • I noticed a DLL at C:\Program Files (x86)\Gpg4win\bin_64\libgpgme6-11.dll that seems to be undocumented. This appears to be a 64-bit version of libgpgme-11.dll. Does the 6 in the name just signify that it’s 64-bit, or is there a deeper meaning there?
    • Which version of Gpg4Win added this DLL (since I don’t remember it being there in the past)?
  • Does the Gpg4Win installer write a registry key (or other configuration entry) with the path to Gpg4Win (e.g. C:\Program Files (x86)\Gpg4win\) that we can use to locate the DLLs if they’re not in the default location of %ProgramFiles(x86)\Gpg4Win\?
  • Would I be allowed to bundle libgpgme-11.dll and libgpgme6-11.dll with gpgme-sharp, or do I need to require that users install Gpg4Win manually (which is the current state today)? On Linux we just rely on libgpgme.so.11 being present on the system.

Thanks!

Hi Dan, welcome to our forum and thanks for developing a gpgme wrapper!

Good questions,
for some of your questions I do not know the answer, if you do not get one here, a good other place to ask is https://lists.wald.intevation.org/pipermail/gpg4win-devel/ or The Gnupg-devel Archives

Would I be allowed to bundle libgpgme-11.dll and libgpgme6-11.dll with gpgme-sharp,

It is possible if the conditions of the Free Software licenses are fulfilled. GPGME is under LGPL-2.1-or-later and GnuPG itself, which you would also need is under GPL-3.0-or-later.

While it is possible from the licensing side, it maybe better for updating if the original Gpg4win packages were used.

Regards,
Bernhard