[Bug 18523] Bug with nmake

wine-bugs at winehq.org wine-bugs at winehq.org
Thu May 21 05:38:10 CDT 2009


http://bugs.winehq.org/show_bug.cgi?id=18523


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #14 from Anastasius Focht <focht at 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

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list