(add_registry): Don't change the registry unless keys

already exist from a previous version.
This commit is contained in:
Jason Rumney 2006-03-12 18:10:29 +00:00
parent 92cc46af58
commit ebe98f49a5
2 changed files with 14 additions and 7 deletions

View file

@ -1,5 +1,8 @@
2006-03-12 Jason Rumney <jasonr@gnu.org>
* addpm.c (add_registry): Don't change the registry unless keys
already exist from a previous version.
* makefile.w32-in (install): Use -q when invoking addpm.
* addpm.c (main): Accept -q as alternative for /q.

View file

@ -71,19 +71,23 @@ add_registry (path)
char *path;
{
HKEY hrootkey = NULL;
DWORD dwDisp;
int i;
BOOL ok = TRUE;
/* Previous versions relied on registry settings, but we do not need
them any more. If registry settings are installed from a previous
version, replace them to ensure they are the current settings.
Otherwise, do nothing. */
/* Check both the current user and the local machine to see if we
have any resources. */
if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT,
0, "", REG_OPTION_NON_VOLATILE,
KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS
&& RegCreateKeyEx (HKEY_CURRENT_USER, REG_ROOT,
0, "", REG_OPTION_NON_VOLATILE,
KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS)
if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT,
REG_OPTION_NON_VOLATILE,
KEY_WRITE, &hrootkey) != ERROR_SUCCESS
&& RegOpenKeyEx (HKEY_CURRENT_USER, REG_ROOT,
REG_OPTION_NON_VOLATILE,
KEY_WRITE, &hrootkey) != ERROR_SUCCESS)
{
return FALSE;
}