[SYSSETUP]
authorEric Kohl <eric.kohl@reactos.org>
Tue, 15 Jun 2010 19:31:19 +0000 (19:31 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Tue, 15 Jun 2010 19:31:19 +0000 (19:31 +0000)
Set registry values 'PathName' and 'SystemRoot' in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion.
This fixes bug #4414.

svn path=/trunk/; revision=47784

reactos/dll/win32/syssetup/install.c

index c212916..b5c226f 100644 (file)
@@ -855,6 +855,7 @@ InstallReactOS(HINSTANCE hInstance)
     DWORD LastError;
     HANDLE token;
     TOKEN_PRIVILEGES privs;
+    HKEY hKey;
 
     InitializeSetupActionLog(FALSE);
     LogItem(SYSSETUP_SEVERITY_INFORMATION, L"Installing ReactOS");
@@ -901,6 +902,29 @@ InstallReactOS(HINSTANCE hInstance)
 
     if (GetWindowsDirectory(szBuffer, sizeof(szBuffer) / sizeof(TCHAR)))
     {
+        if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,
+                          L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",
+                          0,
+                          KEY_WRITE,
+                          &hKey) == ERROR_SUCCESS)
+        {
+            RegSetValueExW(hKey,
+                           L"PathName",
+                           0,
+                           REG_SZ,
+                           (LPBYTE)szBuffer,
+                           (wcslen(szBuffer) + 1) * sizeof(WCHAR));
+
+            RegSetValueExW(hKey,
+                           L"SystemRoot",
+                           0,
+                           REG_SZ,
+                           (LPBYTE)szBuffer,
+                           (wcslen(szBuffer) + 1) * sizeof(WCHAR));
+
+            RegCloseKey(hKey);
+        }
+
         PathAddBackslash(szBuffer);
         _tcscat(szBuffer, _T("system"));
         CreateDirectory(szBuffer, NULL);