http://bugs.winehq.org/show_bug.cgi?id=5294
------- Additional Comments From focht@gmx.net 2007-15-05 11:33 ------- Hello,
the dll (inproc server) is already loaded (decrypted and initialized by regsvr32 process. In its DllRegisterServer routine it calls LoadLibrary(LOAD_LIBRARY_AS_DATAFILE) on itself.
Wines maps the file again (bypassing dll loader) giving therefore a different HMODULE to client (different base address). This HMODULE is used for resource managment which doesnt work because the second instance is encrypted due to no init routines run.
Wine needs to check if dll is already loaded and if so, defer to standard loader (refcount), else use load_library_as_datafile().
Regards