mirror of
https://github.com/reactos/reactos.git
synced 2024-10-05 17:06:29 +00:00
[WINLOGON]
- Add a hack to fix the APPDATA environment variable. This hack will be removed after bug #5372 has been fixed. Fixes bug #4102. svn path=/trunk/; revision=47220
This commit is contained in:
parent
31dfebe9a7
commit
e5b5b48170
|
@ -31,15 +31,15 @@ BuildVolatileEnvironment(IN PWLSESSION Session,
|
||||||
HINSTANCE hShell32 = NULL;
|
HINSTANCE hShell32 = NULL;
|
||||||
PFSHGETFOLDERPATHW pfSHGetFolderPathW = NULL;
|
PFSHGETFOLDERPATHW pfSHGetFolderPathW = NULL;
|
||||||
WCHAR szPath[MAX_PATH + 1];
|
WCHAR szPath[MAX_PATH + 1];
|
||||||
|
WCHAR szExpandedPath[MAX_PATH + 1];
|
||||||
LPCWSTR wstr;
|
LPCWSTR wstr;
|
||||||
SIZE_T size;
|
SIZE_T size;
|
||||||
|
|
||||||
WCHAR szEnvKey[MAX_PATH];
|
WCHAR szEnvKey[MAX_PATH];
|
||||||
WCHAR szEnvValue[1024];
|
WCHAR szEnvValue[1024];
|
||||||
|
|
||||||
SIZE_T length;
|
SIZE_T length;
|
||||||
LPWSTR eqptr, endptr;
|
LPWSTR eqptr, endptr;
|
||||||
|
|
||||||
|
/* Parse the environment variables and add them to the volatile environment key */
|
||||||
if (Session->Profile->dwType == WLX_PROFILE_TYPE_V2_0 &&
|
if (Session->Profile->dwType == WLX_PROFILE_TYPE_V2_0 &&
|
||||||
Session->Profile->pszEnvironment != NULL)
|
Session->Profile->pszEnvironment != NULL)
|
||||||
{
|
{
|
||||||
|
@ -80,7 +80,7 @@ BuildVolatileEnvironment(IN PWLSESSION Session,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Load shell32.dll and call SHGetFolderPathW to get the users appdata folder path */
|
||||||
hShell32 = LoadLibraryW(L"shell32.dll");
|
hShell32 = LoadLibraryW(L"shell32.dll");
|
||||||
if (hShell32 != NULL)
|
if (hShell32 != NULL)
|
||||||
{
|
{
|
||||||
|
@ -94,12 +94,21 @@ BuildVolatileEnvironment(IN PWLSESSION Session,
|
||||||
0,
|
0,
|
||||||
szPath) == S_OK)
|
szPath) == S_OK)
|
||||||
{
|
{
|
||||||
|
/* FIXME: Expand %USERPROFILE% here. SHGetFolderPathW should do it for us. See Bug #5372.*/
|
||||||
|
TRACE("APPDATA path: %S\n", szPath);
|
||||||
|
ExpandEnvironmentStringsForUserW(Session->UserToken,
|
||||||
|
szPath,
|
||||||
|
szExpandedPath,
|
||||||
|
MAX_PATH);
|
||||||
|
|
||||||
|
/* Add the appdata folder path to the users volatile environment key */
|
||||||
|
TRACE("APPDATA expanded path: %S\n", szExpandedPath);
|
||||||
RegSetValueExW(hKey,
|
RegSetValueExW(hKey,
|
||||||
L"APPDATA",
|
L"APPDATA",
|
||||||
0,
|
0,
|
||||||
REG_SZ,
|
REG_SZ,
|
||||||
(LPBYTE)szPath,
|
(LPBYTE)szExpandedPath,
|
||||||
(wcslen(szPath) + 1) * sizeof(WCHAR));
|
(wcslen(szExpandedPath) + 1) * sizeof(WCHAR));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue