Fwd: How to change Wine DLL search path for "built-in" DLLs?

Vladimir Panteleev vladimir at thecybershadow.net
Fri Apr 8 13:01:17 CDT 2016


(reposting from wine-users, which seems to be dead)

I'm trying to get the VS2012 C++ compiler (cl.exe) running under Wine
- stand-alone, as a component for a different larger project. The
project works fine on Windows without affecting any global system
settings or files (i.e. it unpacks DLLs etc. to private subdirs
instead of installing them system-wide). I'd like it to "just work"
under Wine as well, without user intervention or persistent
modifications to bottle settings or system files.

Wine has a msvcr120.dll, however it is incomplete, at least as far as
cl.exe is concerned:

wine: Call from 0x7b44ee37 to unimplemented function
msvcr120.dll.??0reader_writer_lock at Concurrency@@QEAA at XZ, aborting
Internal Compiler Error in
Z:\home\vladimir\work\Digger\work-wine\dl\vs2013-community\Program
Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\cl.exe.  You
will be prompted to send an error report to Microsoft later.

The problem is that it attempts to load its builtin DLL even if I
place the native Microsoft's DLL in PATH before system32/syswow64.
WINEDLLPATH seems to have no effect, and adding a DLL override has no
effect other than changing whether it loads Wine's DLL on fails to
load a DLL at all (even though it's in PATH!). Yes, the model
(bitness) is correct.

I remember reading somewhere that Wine uses the value of PATH from the
registry. I guess I could also just delete or overwrite Wine's DLL in
system32/syswow64. But is it possible to change the DLL search path
for one Wine invocation, without any permanent modifications to the
bottle?

Partially related, but I noticed that Wine does not skip over DLLs of
wrong bitness as Windows does. Instead, the program fails to
initialize. This means you can't add 32-bit and 64-bit DLL directories
to PATH and let the programs' bitness sort out which to use. That's
definitely a bug I guess.



More information about the wine-devel mailing list