http://bugs.winehq.org/show_bug.cgi?id=18889
Andras Kovacs andras@csevego.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julliard@winehq.org
--- Comment #9 from Andras Kovacs andras@csevego.net 2009-11-21 10:15:44 --- I found the problem. The problem is wine activation context routine.
I'm trying to explain in case of Messenger:
Messenger depends on uccapi.dll. This dll has a manifest file in it's resource section. Wine tries to search uccapi.dll, wich is found in messenger's directory. It starts to search manifest file in uccapi.dll, and here goes the problem: it won't find it, because it looks only in directory 24 entry 1, and in case of this file it is in directory 24 entry 2. And there are no directory 24 entry 1.
A quick hack to manage messenger to start:
Change actctx.c (dlls/ntdll) line 1987 to: status = get_manifest_in_pe_file( acl, ai, nameW.Buffer, directory, FALSE, file, (LPCWSTR)2, 0 );
I don't know what windows does, but I think the correct solution could be to cycle trough directory 24 entries looking for manifests.
The problem is same in case of Microsoft Access 2007 with file ACEDAO.DLL.