[SYSSETUP][USERENV] Create the system profile after the creation of the default profi...
authorEric Kohl <eric.kohl@reactos.org>
Wed, 30 May 2018 07:21:14 +0000 (09:21 +0200)
committerEric Kohl <eric.kohl@reactos.org>
Wed, 30 May 2018 07:21:14 +0000 (09:21 +0200)
CopySystemProfile: Don't try to create the user hive. Just copy it as it has already been created.

dll/win32/syssetup/install.c
dll/win32/userenv/profile.c

index ad14449..74b357d 100644 (file)
@@ -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);
 
index 0b49d7a..a728921 100644 (file)
@@ -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: