https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f0273d814e67acd4da28b…
commit f0273d814e67acd4da28bf7edd3de403e62f7738
Author: Eric Kohl <eric.kohl(a)reactos.org>
AuthorDate: Wed May 30 09:21:14 2018 +0200
Commit: Eric Kohl <eric.kohl(a)reactos.org>
CommitDate: Wed May 30 09:21:14 2018 +0200
[SYSSETUP][USERENV] Create the system profile after the creation of the default
profile has been finished
CopySystemProfile: Don't try to create the user hive. Just copy it as it has
already been created.
---
dll/win32/syssetup/install.c | 12 +++++++++++-
dll/win32/userenv/profile.c | 42 +-----------------------------------------
2 files changed, 12 insertions(+), 42 deletions(-)
diff --git a/dll/win32/syssetup/install.c b/dll/win32/syssetup/install.c
index ad14449a56..74b357d444 100644
--- a/dll/win32/syssetup/install.c
+++ b/dll/win32/syssetup/install.c
@@ -1279,7 +1279,17 @@ InstallReactOS(VOID)
CreateDirectory(szBuffer, NULL);
}
- SaveDefaultUserHive();
+ if (SaveDefaultUserHive() != ERROR_SUCCESS)
+ {
+ FatalError("SaveDefaultUserHive() failed");
+ return 0;
+ }
+
+ if (!CopySystemProfile(0))
+ {
+ FatalError("CopySystemProfile() failed");
+ return 0;
+ }
hHotkeyThread = CreateThread(NULL, 0, HotkeyThread, NULL, 0, NULL);
diff --git a/dll/win32/userenv/profile.c b/dll/win32/userenv/profile.c
index 0b49d7a869..a7289211be 100644
--- a/dll/win32/userenv/profile.c
+++ b/dll/win32/userenv/profile.c
@@ -109,7 +109,7 @@ AcquireRemoveRestorePrivilege(IN BOOL bAcquire)
BOOL
WINAPI
CopySystemProfile(
- IN ULONG Unused)
+ _In_ ULONG Unused)
{
WCHAR szKeyName[MAX_PATH];
WCHAR szRawProfilePath[MAX_PATH];
@@ -231,46 +231,6 @@ CopySystemProfile(
goto done;
}
- /* Create user hive file */
-
-#if 0
- /* Use the default hive file name */
-// StringCbCopyW(szBuffer, sizeof(szBuffer), szProfilePath);
- StringCbCatW(szProfilePath, sizeof(szProfilePath), L"\\ntuser.dat");
-
- /* Acquire restore privilege */
- if (!AcquireRemoveRestorePrivilege(TRUE))
- {
- DPRINT1("Failed to acquire the restore privilege (Error %lu)\n",
GetLastError());
- goto done;
- }
-
- /* Load the user hive */
- dwError = RegLoadKeyW(HKEY_USERS,
- SidString.Buffer,
- szProfilePath);
- AcquireRemoveRestorePrivilege(FALSE);
- if (dwError != ERROR_SUCCESS)
- {
- DPRINT1("Failed to load the new registry hive (Error %lu)\n",
dwError);
- goto done;
- }
-
- bResult = TRUE;
-
- /* Initialize the user hive */
- if (!CreateUserHive(SidString.Buffer, szProfilePath))
- {
- DPRINT1("Failed to create the new hive (Error %lu)\n",
GetLastError());
- bResult = FALSE;
- }
-
- /* Unload the user hive */
- AcquireRemoveRestorePrivilege(TRUE);
- RegUnLoadKeyW(HKEY_USERS, SidString.Buffer);
- AcquireRemoveRestorePrivilege(FALSE);
-#endif
-
bResult = TRUE;
done: