http://bugs.winehq.org/show_bug.cgi?id=18096
Summary: setupapi.SetupDiGetINFClassW needs more flesh Product: Wine Version: 1.1.19 Platform: Other URL: http://www.microsoft.com/downloads/details.aspx?FamilyID =1dacdb3d-50d1-41b2-a107-fa75ae960856 OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: setupapi AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net
Hello,
while testing older VC++ installers I encountered a setupapi insufficiency in the sub-installer "Microsoft Windows CE Platform Manager 4.0" of Embedded VC++ 4.0 (with SP2):
The sub-installer can be run manually:
wine msiexec /i "platman_sdk.msi" PLATMAN_INSTALLDIR="C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman"
Fortunately the installer is very noisy about its doings :-)
--- snip --- 0009:trace:msi:HANDLE_CustomType1 Calling function L"InstallDevice" from L"C:\windows\temp\msife67.tmp" ... 0023:trace:msi:DllThread custom action (23) started 0023:trace:msi:ACTION_CallDllFunction {947ad330-d83b-4c78-a7ef-9000a732efca} 0023:trace:msi:DllGetClassObject {ba26e6fa-4f27-4f56-953a-3f90272018aa} {00000001-0000-0000-c000-000000000046} 0xa3e844 0023:trace:msi:MsiCF_CreateInstance 0x76cf02e0 (nil) {56d58b64-8780-4c22-a8bc-8b0b29e4a9f8} 0xa3e840 0 ... 0023:trace:msi:ACTION_CallDllFunction calling L"InstallDevice" ... 0023:Call KERNEL32.OutputDebugStringW(00a3e04c L" InstallDevice: Found CustomActionData: 'C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\bin\vpcappsv.inf;VPCsystem'\n") ret=10001e80 ... 0023:Call KERNEL32.OutputDebugStringW(00a3e048 L" InstallDevice: Installing from INF: 'C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\bin\vpcappsv.inf' Hardware ID: 'VPCsystem'\n") ret=10001e80 ... 0023:Call KERNEL32.OutputDebugStringW(00c500a0 L" _InstallDevice: Before memcpy\n") ret=1000145f ... 0023:Call KERNEL32.OutputDebugStringW(00c50070 L" _InstallDevice: Before GetFullPathName\n") ret=1000145f ... 0023:Call KERNEL32.GetFullPathNameW(00c50150 L"C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\bin\vpcappsv.inf",00000059,00c50070,00000000) ret=10001af8 0023:Ret KERNEL32.GetFullPathNameW() retval=00000058 ret=10001af8 ... 0023:Call KERNEL32.OutputDebugStringW(00c51f40 L" _InstallDevice: Before FindFirstFile\n") ret=1000145f ... 0023:Call KERNEL32.FindFirstFileW(00c50150 L"C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\bin\vpcappsv.inf",00a3e5fc) ret=10001b15 0023:Ret KERNEL32.FindFirstFileW() retval=007a3f10 ret=10001b15 ... 0023:Call KERNEL32.OutputDebugStringW(00c51f30 L" FindExistingDevice: Before SetupDiGetClassDevs\n") ret=1000145f ... 0023:Ret setupapi.SetupDiGetClassDevsW() retval=007a5f58 ret=100014f1 0023:Call KERNEL32.GetLastError() ret=100013db 0023:Ret KERNEL32.GetLastError() retval=00000000 ret=100013db ... 0023:Call KERNEL32.OutputDebugStringW(00c51f30 L" FindExistingDevice: Before SetupDiEnumDeviceInfo\n") ret=1000145f ... 0023:Call setupapi.SetupDiEnumDeviceInfo(007a5f58,00000000,00a3e5b4) ret=10001547 ... 0023:Ret setupapi.SetupDiEnumDeviceInfo() retval=00000000 ret=10001547 ... 0023:Call KERNEL32.OutputDebugStringW(00c51f40 L" FindExistingDevice: Before SetupDiDestroyDeviceInfoList\n") ret=1000145f ... 0023:Call setupapi.SetupDiDestroyDeviceInfoList(007a5f58) ret=10001709 ... 0023:Ret setupapi.SetupDiDestroyDeviceInfoList() retval=00000001 ret=10001709 ... 0023:Call KERNEL32.OutputDebugStringW(00c51f20 L" _InstallDevice: Before InstallRootEnumeratedDriver\n") ret=1000145f ... 0023:Call KERNEL32.OutputDebugStringW(00c51f20 L" InstallRootEnumeratedDriver: Before SetupDiGetINFClass\n") ret=1000145f ... 0023:Call setupapi.SetupDiGetINFClassW(00c50070 L"C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\bin\vpcappsv.inf",00a3e560,00a3e58c,00000020,00000000) ret=1000178b 0023:fixme:setupapi:SetupDiGetINFClassW L"C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\bin\vpcappsv.inf" 0xa3e560 0xa3e58c 32 (nil) 0023:Ret setupapi.SetupDiGetINFClassW() retval=00000000 ret=1000178b 0023:Call KERNEL32.GetLastError() ret=100013db 0023:Ret KERNEL32.GetLastError() retval=00000000 ret=100013db ... 0023:Call KERNEL32.OutputDebugStringW(00c51f50 L"SetupDiGetINFClass() failed: No additional information is available.\n") ret=1000145f ... 0023:Call KERNEL32.OutputDebugStringW(00c51f40 L"InstallRootEnumeratedDriver() failed: No additional information is available.\n") ret=1000145f ... 0023:Ret KERNEL32.InterlockedDecrement() retval=00000000 ret=10008256 0023:Call KERNEL32.OutputDebugStringW(00a3e04c L" InstallDevice: InstalledDevice returned hr=80004005\n") ret=10001e80 ... 0023:Call KERNEL32.OutputDebugStringW(00a3e04c L" InstallDevice: Installation failed\n") ret=10001e80 ... 0023:trace:msi:DllThread custom action (23) returned 1603 --- snip ---
--- snip dll/setupapi/stubs.c --- BOOL WINAPI SetupDiGetINFClassW(PCWSTR inf, LPGUID class_guid, PWSTR class_name, DWORD size, PDWORD required_size) { FIXME("%s %p %p %d %p\n", debugstr_w(inf), class_guid, class_name, size, required_size); return FALSE; } --- snip dll/setupapi/stubs.c ---
Regards