r16260 - gnucash/trunk - Fix erroneous usage of CURRENT_USER registry keys for gnucash paths. #454108

Christian Stimming cstim at cvs.gnucash.org
Sun Jul 8 04:03:02 EDT 2007


Author: cstim
Date: 2007-07-08 04:03:01 -0400 (Sun, 08 Jul 2007)
New Revision: 16260
Trac: http://svn.gnucash.org/trac/changeset/16260

Modified:
   gnucash/trunk/packaging/win32/gnucash.iss.in
   gnucash/trunk/src/engine/binreloc.c
Log:
Fix erroneous usage of CURRENT_USER registry keys for gnucash paths. #454108


Modified: gnucash/trunk/packaging/win32/gnucash.iss.in
===================================================================
--- gnucash/trunk/packaging/win32/gnucash.iss.in	2007-07-07 17:14:13 UTC (rev 16259)
+++ gnucash/trunk/packaging/win32/gnucash.iss.in	2007-07-08 08:03:01 UTC (rev 16260)
@@ -84,13 +84,14 @@
 ; 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

Modified: gnucash/trunk/src/engine/binreloc.c
===================================================================
--- gnucash/trunk/src/engine/binreloc.c	2007-07-07 17:14:13 UTC (rev 16259)
+++ gnucash/trunk/src/engine/binreloc.c	2007-07-08 08:03:01 UTC (rev 16260)
@@ -51,12 +51,11 @@
 	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);



More information about the gnucash-changes mailing list