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

Stefan Dösinger stefandoesinger at gmail.com
Sat Apr 9 09:29:23 CDT 2016


You can set WINEDLLOVERRIDES to set overrides without editing stuff in winecfg or the registry.

If the DLL overrides don't work it's possible that some other piece is missing. You can use WINEDEBUG=loaddll,module to find out what the loader is doing.

The even better solution would be to implement the missing functions :-)

Stefan

Am 09.04.2016 um 01:22 schrieb Vladimir Panteleev <vladimir at thecybershadow.net>:

> 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: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.
>>> 
>>> ~Theodore
>>> 
>>>> 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
>>>> 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.
>>>> 
>>>> 
>>> 
> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20160409/f4c61598/attachment.sig>


More information about the wine-devel mailing list