kernel32: Set the ProgramData environment variable.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Vincent Povirk 2017-08-16 14:40:32 -05:00 committed by Alexandre Julliard
parent dcb1359b5e
commit e8ef521c83

View File

@ -517,9 +517,10 @@ static void set_additional_environment(void)
static const WCHAR all_users_valueW[] = {'A','l','l','U','s','e','r','s','P','r','o','f','i','l','e','\0'};
static const WCHAR computernameW[] = {'C','O','M','P','U','T','E','R','N','A','M','E',0};
static const WCHAR allusersW[] = {'A','L','L','U','S','E','R','S','P','R','O','F','I','L','E',0};
static const WCHAR programdataW[] = {'P','r','o','g','r','a','m','D','a','t','a',0};
OBJECT_ATTRIBUTES attr;
UNICODE_STRING nameW;
WCHAR *profile_dir = NULL, *all_users_dir = NULL;
WCHAR *profile_dir = NULL, *all_users_dir = NULL, *program_data_dir = NULL;
WCHAR buf[MAX_COMPUTERNAME_LENGTH+1];
HANDLE hkey;
DWORD len;
@ -542,6 +543,7 @@ static void set_additional_environment(void)
{
profile_dir = get_reg_value( hkey, profiles_valueW );
all_users_dir = get_reg_value( hkey, all_users_valueW );
program_data_dir = get_reg_value( hkey, programdataW );
NtClose( hkey );
}
@ -559,8 +561,14 @@ static void set_additional_environment(void)
HeapFree( GetProcessHeap(), 0, value );
}
if (program_data_dir)
{
SetEnvironmentVariableW( programdataW, program_data_dir );
}
HeapFree( GetProcessHeap(), 0, all_users_dir );
HeapFree( GetProcessHeap(), 0, profile_dir );
HeapFree( GetProcessHeap(), 0, program_data_dir );
}
/***********************************************************************