http://bugs.winehq.org/show_bug.cgi?id=18089
Summary: import_dll should check SharedDLLs Product: Wine Version: 1.1.19 Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll AssignedTo: wine-bugs@winehq.org ReportedBy: tarasov.igor@gmail.com
import_dll should lookup in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls for matching library, if it can't find it anywhere else.
Here's how I came to this: there are lots of programs that don't start in wine unless you do special tricks, such as copying dlls to folder where the .exe resides or to system32, or something else. If you search the bugzilla for import_dll, you'll find a lot of bugs having this kind of errors:
err:module:import_dll Library something.dll not found
Mostly, questions arise as if software has installed correctly or something else. But, I've made a test, installing it in windows, and launching directly, that is without specifying "start in" parameter (as it would with .lnk files). And in windows it works perfectly.
So, I've exported the registry from XP box and compared it to identical installation in wine. The only mentions of dlls in question are in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
Google says, that this registry node is supposed only to track if installed libraries are used by any installed application or not.
But it seems, that in windows, ntdll looks up into this registry part in order to try to find where the libraries in question are located.
This would fix quite a lot of problems.