Page MenuHome GnuPG

GPGME: Fix finding gpgconf through registry for x64
Closed, ResolvedPublic

Description

The gnupg-w32 installer and gpg4win run in 32 bit. They create the "Install Dir" registry value under the WOW6432 node.

GPGME then runs in 64 bit -> The registry functions try to access the 64 bit registry values and not the WOW6432 Node keys. There are no such keys so it fails.

Only if GnuPG is installed in the standard path they are found through the find program in standard location mechanism.

Additionally as a nod to Gpg4win GPGME could look in "_gpgme_get_inst_dir() + "\..\..\GnuPG\bin" for gpgconf. As an alternative way without the registry. The first

/* 1. Try to find gpgconf.exe in the installation directory of gpgme.  */

Does not work for Gpg4win because GPGME is installed for Gpg4win and gpgconf is installed next to it in a different folder.

Both GpgEX and GpgOL already have code to handle this.

Details

Version
https://wald.intevation.org/forum/message.php?msg_id=5985

Revisions and Commits

Event Timeline

aheinecke changed the task status from Open to Testing.May 17 2018, 5:47 PM

Have to test it but I think its resolved. The registry path handling is now similar to that of GpgOL and GpgEX.

I've also took the liberty to add the Gpg4win relative location fallback.

Any fallback to find gpgconf is good.

We should also add another fallback to look into the PATH variable.

The fix for this was released with Gpg4win-3.1.1. Forgot to update this task.