The GroupOrder registry value should start with a ULONG containing the
number
of entries following it.
Modified: trunk/reactos/lib/setupapi/install.c
_____
Modified: trunk/reactos/lib/setupapi/install.c
--- trunk/reactos/lib/setupapi/install.c 2005-11-11 21:30:55 UTC
(rev 19149)
+++ trunk/reactos/lib/setupapi/install.c 2005-11-11 21:39:57 UTC
(rev 19150)
@@ -1212,7 +1212,7 @@
}
rc = RegQueryValueExW(hGroupOrderListKey, lpLoadOrderGroup,
NULL, &dwRegType, NULL, &bufferSize);
if (rc == ERROR_FILE_NOT_FOUND)
- bufferSize = 0;
+ bufferSize = sizeof(DWORD);
else if (rc != ERROR_SUCCESS)
{
SetLastError(rc);
@@ -1246,10 +1246,17 @@
goto cleanup;
}
}
+ else
+ {
+ GroupOrder[0] = 0;
+ }
if (flags & SPSVCINST_TAGTOFRONT)
- GroupOrder[0] = tagId;
+ GroupOrder[1] = tagId;
else
+ {
+ GroupOrder[0]++;
GroupOrder[bufferSize / sizeof(DWORD)] = tagId;
+ }
rc = RegSetValueExW(
hGroupOrderListKey,
Show replies by date