* The Shell.. for a long time we dreamed of having a compatible, properly working...
[reactos.git] / reactos / dll / win32 / syssetup / install.c
index 097537e..1cd35ad 100644 (file)
@@ -241,7 +241,6 @@ static BOOL CreateShortcuts(HINF hinf, LPCWSTR szSection)
     WCHAR szFolder[MAX_PATH];
     WCHAR szFolderSection[MAX_PATH];
     INT csidl;
-    LPWSTR p;
 
     CoInitialize(NULL);
 
@@ -262,20 +261,9 @@ static BOOL CreateShortcuts(HINF hinf, LPCWSTR szSection)
         if (!SetupGetStringFieldW(&Context, 2, szFolder, MAX_PATH, NULL))
             continue;
 
-        if (!SHGetSpecialFolderPathW(0, szPath, csidl, TRUE))
+        if (FAILED(SHGetFolderPathAndSubDirW(NULL, csidl|CSIDL_FLAG_CREATE, (HANDLE)-1, SHGFP_TYPE_DEFAULT, szFolder, szPath)))
             continue;
 
-        p = PathAddBackslash(szPath);
-        _tcscpy(p, szFolder);
-
-        if (!CreateDirectory(szPath, NULL))
-        {
-            if (GetLastError() != ERROR_ALREADY_EXISTS) 
-            {
-                continue;
-            }
-        }
-
         CreateShortcutsFromSection(hinf, szFolderSection, szPath);
 
     }while (SetupFindNextLine(&Context, &Context));
@@ -487,7 +475,7 @@ RegisterTypeLibraries (HINF hinf, LPCWSTR szSection)
         hret = SHGetFolderPathW(NULL, csidl, NULL, 0, szPath);
         if (FAILED(hret))
         {
-            FatalError("SHGetSpecialFolderPathW failed hret=0x%d\n", hret);
+            FatalError("SHGetFolderPathW failed hret=0x%d\n", hret);
             continue;
         }