aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32-util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/w32-util.c')
-rw-r--r--src/w32-util.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/w32-util.c b/src/w32-util.c
index a27955b5..0086fe39 100644
--- a/src/w32-util.c
+++ b/src/w32-util.c
@@ -563,15 +563,26 @@ _gpgme_get_gpgconf_path (void)
gpgconf = find_program_at_standard_place (name2);
}
- /* 3. Try to find gpgconf.exe using that ancient registry key. This
- should eventually be removed. */
+ /* 3. Try to find gpgconf.exe using the Windows registry. */
if (!gpgconf)
{
char *dir;
- dir = read_w32_registry_string ("HKEY_LOCAL_MACHINE",
+ dir = read_w32_registry_string (NULL,
"Software\\GNU\\GnuPG",
"Install Directory");
+ if (!dir)
+ {
+ char *tmp = read_w32_registry_string (NULL,
+ "Software\\GnuPG",
+ "Install Directory");
+ if (tmp)
+ {
+ if (gpgrt_asprintf (&dir, "%s\\bin", tmp) == -1)
+ return NULL;
+ free (tmp);
+ }
+ }
if (dir)
{
gpgconf = find_program_in_dir (dir, name);