Repair TCP/IP service installation

svn path=/trunk/; revision=30022
This commit is contained in:
Hervé Poussineau 2007-10-31 18:17:00 +00:00
parent 596a6762cf
commit 273ddbf9fd

View file

@ -101,7 +101,8 @@ static BOOL
InstallInfSection( InstallInfSection(
IN HWND hWnd, IN HWND hWnd,
IN LPCWSTR InfFile, IN LPCWSTR InfFile,
IN LPCWSTR InfSection) IN LPCWSTR InfSection OPTIONAL,
IN LPCWSTR InfService OPTIONAL)
{ {
WCHAR Buffer[MAX_PATH]; WCHAR Buffer[MAX_PATH];
HINF hInf = INVALID_HANDLE_VALUE; HINF hInf = INVALID_HANDLE_VALUE;
@ -132,12 +133,21 @@ InstallInfSection(
if (Context == NULL) if (Context == NULL)
goto cleanup; goto cleanup;
ret = SetupInstallFromInfSectionW( ret = TRUE;
hWnd, hInf, if (ret && InfSection)
InfSection, SPINST_ALL, {
NULL, NULL, SP_COPY_NEWER, ret = SetupInstallFromInfSectionW(
SetupDefaultQueueCallbackW, Context, hWnd, hInf,
NULL, NULL); InfSection, SPINST_ALL,
NULL, NULL, SP_COPY_NEWER,
SetupDefaultQueueCallbackW, Context,
NULL, NULL);
}
if (ret && InfService)
{
ret = SetupInstallServicesFromInfSectionW(
hInf, InfService, 0);
}
cleanup: cleanup:
if (Context) if (Context)
@ -158,7 +168,8 @@ InstallAdditionalServices(
ret = InstallInfSection( ret = InstallInfSection(
hWnd, hWnd,
L"nettcpip.inf", L"nettcpip.inf",
L"MS_TCPIP.PrimaryInstall"); L"MS_TCPIP.PrimaryInstall",
L"MS_TCPIP.PrimaryInstall.Services");
if (!ret && GetLastError() != ERROR_FILE_NOT_FOUND) if (!ret && GetLastError() != ERROR_FILE_NOT_FOUND)
{ {
DPRINT("InstallInfSection() failed with error 0x%lx\n", GetLastError()); DPRINT("InstallInfSection() failed with error 0x%lx\n", GetLastError());