From 9ff72e4e7e4f56c241a525479a94ed4c95efc23f Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 1 Aug 2013 11:20:48 +0200 Subject: w32: Add code to support a portable use of GnuPG. * common/homedir.c (w32_bin_is_bin, w32_portable_app) [W32]: New. (check_portable_app) [W32]: New. (standard_homedir, default_homedir) [W32]: Support the portable flag. (w32_rootdir, w32_commondir) [W32]: Ditto. (gnupg_bindir, gnupg_cachedir, dirmngr_socket_name) [W32]: Ditto. * common/logging.h (JNLIB_LOG_NO_REGISTRY): New. * common/logging.c (no_registry): New variable. (log_set_prefix, log_get_prefix): Set/get that variable. (do_logv): Do not check the registry if that variable is set. -- Beware: This code has not been tested because it is not yet possible to build GnuPG 2.1 for Windows. However, the code will be the base for an implementation in 2.0. A portable use of GnuPG under Windows means that GnuPG uses a home directory depending on the location of the actual binary. No registry variables are considered. The portable mode is enabled if in the installation directory of the the binary "gpgconf.exe" and a file "gpgconf.ctl" are found. The latter file is empty or consists only of empty or '#' comment lines. Signed-off-by: Werner Koch --- doc/opt-homedir.texi | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/opt-homedir.texi b/doc/opt-homedir.texi index e382f6368..033a9016b 100644 --- a/doc/opt-homedir.texi +++ b/doc/opt-homedir.texi @@ -5,6 +5,18 @@ Set the name of the home directory to @var{dir}. If this option is not used, the home directory defaults to @file{~/.gnupg}. It is only recognized when given on the command line. It also overrides any home directory stated through the environment variable @env{GNUPGHOME} or -(on W32 systems) by means of the Registry entry +(on Windows systems) by means of the Registry entry @var{HKCU\Software\GNU\GnuPG:HomeDir}. +On Windows systems it is possible to install GnuPG as a portable +application. In this case only this command line option is +considered, all other ways to set a home directory are ignored. + +To install GnuPG as a portable application under Windows, create an +empty file name @file{gpgconf.ctl} in the same directory as the tool +@file{gpgconf.exe}. The root of the installation is than that +directory; or, if @file{gpgconf.exe} has been installed directly below +a directory named @file{bin}, its parent directory. You also need to +make sure that the following directories exist and are writable: +@file{ROOT/home} for the GnuPG home and @file{ROOT/var/cache/gnupg} +for internal cache files. -- cgit v1.2.3