http://bugs.winehq.org/show_bug.cgi?id=18523
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #14 from Anastasius Focht focht@gmx.net 2009-05-21 05:38:04 --- Hello,
it seems you are not aware of the implications of copy-over "installation" methods. That might work for a small amount of apps but won't work out in most scenarios. There are gazillion issues if apps don't get _installed_ the proper way and hence we don't support this method (won't even work with Windows most times).
The reason why you have MSVCR90.dll in Windows XP system32 is you most likely installed the software under pre-fusion OS like NT4, Windows 2000 and later upgraded to Windows XP. Read my "Visual C++ Redistributable Package " appdb entry about the technical side of shared assemblies (VC++ 8.x/9.x runtimes) and system32 or search for archived bugzilla comments in g00gle.
Coming to Wine, your "copy-over" scenario won't work due to bug 16577. When assembly binding redirect fails, the Wine loader will continue search using predefined paths - hence these assemblies get picked up from system32 as last resort. In your Windows XP+ system such GAC-aware assemblies will never get picked up from system32 because there will be *always* a fallback version from shared assembly cache (WinSxs).
---
Regarding your problem ... do the following:
Remove all "msvc*8*.dll" and "msvc*9*.dll" from Wine system32 (~/.wine/drive_c/windows/system32 or whatever WINEPREFIX) -> use wildcards! After that, the loader will now claim missing dlls upon start.
--- snip --- err:module:import_dll Library "foo.dll" (which is needed by "bar") not found --- snip ---
Next, run your app using following command (cd to app directory before):
--- snip --- WINEDEBUG=-all,+actctx wine ./foo.exe 2>&1 | grep "lookup_assembly" --- snip ---
You might need to CTRL+C (or wineserver -k from other console) if the app hangs due to loader failure. Your should get some output like this:
--- snip --- trace:actctx:lookup_assembly looking for name=xxx version=yyy arch=zzz --- snip ---
Use the "version" field of the last "lookup_assembly" message and consult appdb entry http://appdb.winehq.org/objectManager.php?sClass=application&iId=5766
Be sure to match the *exact* version/build numbers and install the missing redistributable package(s).
Regards