How to change Wine DLL search path for "built-in" DLLs?
vladimir at thecybershadow.net
Fri Apr 8 18:22:14 CDT 2016
Thanks Theodore. As I have mentioned, I have already tried DLL
overrides, which did not provide the desired effect. Also, as I have
mentioned, I'm looking for a programmatic solution, without involving
On Fri, Apr 8, 2016 at 11:21 PM, Vladimir Panteleev
<vladimir at thecybershadow.net> wrote:
> Thanks Theodore. As I have mentioned, I have already tried DLL
> overrides, which did not provide the desired effect. Also, as I have
> mentioned, I'm looking for a programmatic solution, without involving
> user intervention.
> On Fri, Apr 8, 2016 at 11:19 PM, Theodore Dubois <tblodt at icloud.com> wrote:
>> Use DLL overrides. Open winecfg, go to the Libraries tab, type msvcr120, click add, click edit, click native, click ok.
>>> On Apr 8, 2016, at 2:52 PM, Vladimir Panteleev <vladimir at thecybershadow.net> wrote:
>>> (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
>>> 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
>>> 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