[SYSSETUP] Save the HKEY_USERS\.DEFAULT hive in the ntuser.dat file of the default user profile

This commit is contained in:
Eric Kohl 2018-05-30 08:18:55 +02:00
parent 249dc97165
commit e7340a2800

View file

@ -1171,6 +1171,52 @@ done:
}
static
DWORD
SaveDefaultUserHive(VOID)
{
WCHAR szDefaultUserHive[MAX_PATH];
HKEY hUserKey = NULL;
DWORD cchSize;
DWORD dwError;
DPRINT("SaveDefaultUserHive()\n");
cchSize = ARRAYSIZE(szDefaultUserHive);
GetDefaultUserProfileDirectoryW(szDefaultUserHive, &cchSize);
wcscat(szDefaultUserHive, L"\\ntuser.dat");
dwError = RegOpenKeyExW(HKEY_USERS,
L".DEFAULT",
0,
KEY_READ,
&hUserKey);
if (dwError != ERROR_SUCCESS)
{
DPRINT1("RegOpenKeyExW() failed (Error %lu)\n", dwError);
return dwError;
}
pSetupEnablePrivilege(L"SeBackupPrivilege", TRUE);
dwError = RegSaveKeyExW(hUserKey,
szDefaultUserHive,
NULL,
REG_STANDARD_FORMAT);
if (dwError != ERROR_SUCCESS)
{
DPRINT1("RegSaveKeyExW() failed (Error %lu)\n", dwError);
}
pSetupEnablePrivilege(L"SeBackupPrivilege", FALSE);
RegCloseKey(hUserKey);
return dwError;
}
static
DWORD
InstallReactOS(VOID)
@ -1233,6 +1279,8 @@ InstallReactOS(VOID)
CreateDirectory(szBuffer, NULL);
}
SaveDefaultUserHive();
hHotkeyThread = CreateThread(NULL, 0, HotkeyThread, NULL, 0, NULL);
/* Hack: Install TCP/IP protocol driver */