http://bugs.winehq.org/show_bug.cgi?id=16906
Summary: .NET 3.0: XPSEPSC installer copies print processor files to wrong directory (setupapi unhandled dirid 55) Product: Wine Version: 1.1.12 Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: setupapi AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net
Hello,
I mentioned this in bug 16879 and before the issue gets lost...
Wine doesn't know about directory id 55 which is print processor directory.
--- snip --- ... 00c4:fixme:setupapi:create_system_dirid unknown dirid 55 00c4:Call KERNEL32.GetSystemDirectoryW(00000000,00000000) ret=789dacd1 00c4:Ret KERNEL32.GetSystemDirectoryW() retval=00000014 ret=789dacd1 ... 00c4:Call KERNEL32.lstrlenW(0015ab20 L"C:\windows\system32\unknown") ret=789ecb4c ... 00c4:Call KERNEL32.CreateFileA(006f26f0 "c:\windows\system32\unknown\printfilterpipelinesvc.exe",80000000,00000003,00000000,00000003,08000000,00000000) ret=0106825d ... --- snip ---
--- snip dlls/setupapi/dirid.c --- /* create the string for a system dirid */ static const WCHAR *create_system_dirid( int dirid ) { ... case DIRID_PRINTPROCESSOR: /* FIXME */ default: FIXME( "unknown dirid %d\n", dirid ); return get_unknown_dirid(); } ... } --- snip dlls/setupapi/dirid.c ---
GetPrintProcessorDirectoryW() should provide all required information. With patch applied:
--- snip --- ... 0031:Call KERNEL32.CopyFileW(0015b310 L"c:\10976f8595cea39afb\PrintFilterPipelineSvc.exe",0015cb70 L"C:\windows\system32\spool\prtprocs\w32x86\PrintFilterPipelineSvc.exe",00000000) ret=60afb0c9 --- snip ---
Regards