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:
parent
dcb1359b5e
commit
e8ef521c83
@ -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 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 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 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;
|
OBJECT_ATTRIBUTES attr;
|
||||||
UNICODE_STRING nameW;
|
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];
|
WCHAR buf[MAX_COMPUTERNAME_LENGTH+1];
|
||||||
HANDLE hkey;
|
HANDLE hkey;
|
||||||
DWORD len;
|
DWORD len;
|
||||||
@ -542,6 +543,7 @@ static void set_additional_environment(void)
|
|||||||
{
|
{
|
||||||
profile_dir = get_reg_value( hkey, profiles_valueW );
|
profile_dir = get_reg_value( hkey, profiles_valueW );
|
||||||
all_users_dir = get_reg_value( hkey, all_users_valueW );
|
all_users_dir = get_reg_value( hkey, all_users_valueW );
|
||||||
|
program_data_dir = get_reg_value( hkey, programdataW );
|
||||||
NtClose( hkey );
|
NtClose( hkey );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -559,8 +561,14 @@ static void set_additional_environment(void)
|
|||||||
HeapFree( GetProcessHeap(), 0, value );
|
HeapFree( GetProcessHeap(), 0, value );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (program_data_dir)
|
||||||
|
{
|
||||||
|
SetEnvironmentVariableW( programdataW, program_data_dir );
|
||||||
|
}
|
||||||
|
|
||||||
HeapFree( GetProcessHeap(), 0, all_users_dir );
|
HeapFree( GetProcessHeap(), 0, all_users_dir );
|
||||||
HeapFree( GetProcessHeap(), 0, profile_dir );
|
HeapFree( GetProcessHeap(), 0, profile_dir );
|
||||||
|
HeapFree( GetProcessHeap(), 0, program_data_dir );
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
Loading…
x
Reference in New Issue
Block a user