[SETUPAPI]
[reactos.git] / reactos / dll / win32 / setupapi / install.c
index a89081c..839b66c 100644 (file)
@@ -250,7 +250,7 @@ static void append_multi_sz_value( HKEY hkey, const WCHAR *value, const WCHAR *s
     if (total != size)
     {
         TRACE( "setting value %s to %s\n", debugstr_w(value), debugstr_w(buffer) );
-        RegSetValueExW( hkey, value, 0, REG_MULTI_SZ, (BYTE *)buffer, total );
+        RegSetValueExW( hkey, value, 0, REG_MULTI_SZ, (BYTE *)buffer, total + sizeof(WCHAR) );
     }
  done:
     HeapFree( GetProcessHeap(), 0, buffer );
@@ -998,7 +998,7 @@ profile_items_callback(
     }
     else
     {
-        FullIconName = DuplicateString(FullFileName);
+        FullIconName = pSetupDuplicateString(FullFileName);
         if (!FullIconName)
             goto cleanup;
     }
@@ -1814,6 +1814,10 @@ static BOOL InstallOneService(
     GetLineText(hInf, ServiceSection, DescriptionKey, &Description);
     GetLineText(hInf, ServiceSection, DependenciesKey, &Dependencies);
 
+    /* If there is no group, we must not request a tag */
+    if (!LoadOrderGroup || !*LoadOrderGroup)
+        useTag = FALSE;
+
     hService = OpenServiceW(
         hSCManager,
         ServiceName,
@@ -2177,9 +2181,9 @@ BOOL WINAPI SetupCopyOEMInfA(
 
     if (!DestinationInfFileName && DestinationInfFileNameSize > 0)
         SetLastError(ERROR_INVALID_PARAMETER);
-    else if (!(SourceInfFileNameW = MultiByteToUnicode(SourceInfFileName, CP_ACP)))
+    else if (!(SourceInfFileNameW = pSetupMultiByteToUnicode(SourceInfFileName, CP_ACP)))
         SetLastError(ERROR_INVALID_PARAMETER);
-    else if (OEMSourceMediaType != SPOST_NONE && !(OEMSourceMediaLocationW = MultiByteToUnicode(OEMSourceMediaLocation, CP_ACP)))
+    else if (OEMSourceMediaType != SPOST_NONE && !(OEMSourceMediaLocationW = pSetupMultiByteToUnicode(OEMSourceMediaLocation, CP_ACP)))
         SetLastError(ERROR_INVALID_PARAMETER);
     else
     {