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 );
}
else
{
- FullIconName = DuplicateString(FullFileName);
+ FullIconName = pSetupDuplicateString(FullFileName);
if (!FullIconName)
goto cleanup;
}
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,
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
{