From ac426e166555c7918d83eec9ab5b06117d3d500e Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sun, 8 Jul 2007 08:03:01 +0000 Subject: [PATCH] Fix erroneous usage of CURRENT_USER registry keys for gnucash paths. #454108 git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@16260 57a11ea4-9604-0410-9ed3-97b8803252fd --- packaging/win32/gnucash.iss.in | 15 ++++++++------- src/engine/binreloc.c | 11 +++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packaging/win32/gnucash.iss.in b/packaging/win32/gnucash.iss.in index 09889323b0..8e4f7d2c27 100644 --- a/packaging/win32/gnucash.iss.in +++ b/packaging/win32/gnucash.iss.in @@ -84,13 +84,14 @@ Source: "@prefix@\..\dist\share\@PACKAGE@\doc\ChangeLog"; DestDir: "{app}\doc\@P ; Define the registry keys Setup should create (HKCU = HKEY_CURRENT_USER) ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [Registry] -Root: HKCU; Subkey: "Software\GnuCash"; ValueType: none; Flags: uninsdeletekeyifempty -Root: HKCU; Subkey: "Software\GnuCash\Paths"; ValueType: none; Flags: uninsdeletekeyifempty -Root: HKCU; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "prefix"; ValueData: "{app}"; Flags: uninsdeletevalue -Root: HKCU; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "libdir"; ValueData: "{app}\lib"; Flags: uninsdeletevalue -Root: HKCU; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "pkglibdir"; ValueData: "{app}\lib\@PACKAGE@"; Flags: uninsdeletevalue -Root: HKCU; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "sysconfdir"; ValueData: "{app}\etc"; Flags: uninsdeletevalue -Root: HKCU; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "localedir"; ValueData: "{app}\share\locale"; Flags: uninsdeletevalue +Root: HKLM; Subkey: "Software\GnuCash"; ValueType: none; Flags: uninsdeletekeyifempty +Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: none; Flags: uninsdeletekeyifempty +Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "prefix"; ValueData: "{app}"; Flags: uninsdeletevalue +Root: HKLM; Subkey: "Software\GnuCash"; ValueType: string; ValueName: "InstallationDirectory"; ValueData: "{app}"; Flags: uninsdeletevalue +Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "libdir"; ValueData: "{app}\lib"; Flags: uninsdeletevalue +Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "pkglibdir"; ValueData: "{app}\lib\@PACKAGE@"; Flags: uninsdeletevalue +Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "sysconfdir"; ValueData: "{app}\etc"; Flags: uninsdeletevalue +Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "localedir"; ValueData: "{app}\share\locale"; Flags: uninsdeletevalue ; Additionally, we have to install the paths for gwenhywfar Root: HKCU; Subkey: "Software\Gwenhywfar"; ValueType: none; Flags: uninsdeletekeyifempty diff --git a/src/engine/binreloc.c b/src/engine/binreloc.c index f9adcdb5b7..d582a5d075 100644 --- a/src/engine/binreloc.c +++ b/src/engine/binreloc.c @@ -51,12 +51,11 @@ _br_find_exe (GbrInitError *error) gchar *prefix; gchar *result; - /* From the documentation of - g_win32_get_package_installation_directory: If both - package and dll_name are NULL, the directory from where - the main executable of the process was loaded is - used. */ - prefix = g_win32_get_package_installation_directory (GETTEXT_PACKAGE, NULL); + /* From the glib docs: This function looks in the Windows + Registry for the value #InstallationDirectory in the key + #HKLM\Software\${package}, and if that value exists and is + a string, returns that. */ + prefix = g_win32_get_package_installation_directory ("GnuCash", NULL); result = g_build_filename (prefix, "bin", "gnucash-bin.exe", (char*)NULL);