bug-wget
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-wget] DLL conflict between wget and curl


From: Ángel González
Subject: Re: [Bug-wget] DLL conflict between wget and curl
Date: Sun, 29 Apr 2012 16:22:01 +0200
User-agent: Thunderbird

Den 29 apr 2012 04:46 skrev "David H. Lipman" <address@hidden>:
>> Here's what I see in the problem...
>>
>> When an EXE makes a call to a DLL if it is in the same folder as the
>> executable then it loads it.  If it doesn't exist in that folder then it
>> will attempt to load the DLL from the PATH.  If the DLL is not found in the
>> PATH the program will error out.  This behaviour can be modified by a
>> Registry tweak.
>>
>> The problem occurs when an EXE loads DEPENDENT.DLL version X and is now
>> loaded in memory.  Then a second application loads that wants the same DLL
>> but expects version Y.  Since the DLL is loaded in memory the second
>> application loads without error.  However since version X is loaded not
>> version Y when the second application makes a call to a DLL function it
>> does not return what is expcted and then second application either does not
>> work correctly or it generates an error message.
>>
>> If it is a case where an EXE loads DEPENDENT.DLL version X and then exits,
>> the DEPENDENT.DLL is unloaded.  If it is a case where an EXE loads
>> DEPENDENT.DLL version X and stays resident, then you may have problems.
On 29/04/12 15:33, Henrik Holst wrote:
> Actually Windows does not work like you describe, it uses the already
> loaded dll only if it would be loaded by the same path. So Windows can have
> multiple versions of the same dll in ram if they are loaded from different
> paths.
>
> /hh
Right. The above explanation looks like a behavior of Windows 3,
"modern" Windows (I think at least since Windows 95) have no problems in
having several dlls with the same name for different programs.
You might hit those issues if you tried to load on the same program
several versions of the same library or if it was a KnownDLL.
Additionally, the above explanation also misses several folders searched
for dlls.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]