Re: DLLs in c:\windows\system32



On Mon, 2006-07-10 at 14:21 +0200, Paul Breeuwsma wrote:

> The cause of this problem is that there are two dll files of a different 
> version. One file is c:\gtk\bin\libatk-1.0-0.dll, the other is 
> c:\windows\system32\libatk-1.0-0.dll. The first file is installed by the 
> runtime environment. The second by an other application. My app finds 
> the one in system32, but it needs the one in c:\gtk\bin.
> 
> A temporary solution is to delete or rename the files in 
> c:\windows\system32, but then some other gtk application doens't work. 
> And I don't expect my users to mess in system directories. Noobs must be 
> able to use my app.

According to Tor Lillqvist (progenitor of GTK-on-Win32):

> xmlparse.dll is the other one of the DLLs in the expat library's Win32
> binary as distributed from ftp.jclark.com/pub/xml/expat.zip (the other
> one is xmltok.dll). There apparently are several different versions of
> xmlparse.dll floating around, or perhaps even a totally unrelated DLL
> with the same name?
> 
> Presumably one of those has been installed in your Windows system32
> folder by some broken software (*nothing* other than what is shipped
> with Windows should be installed in the system32 folder).
> 
> Remove xmlparse.dll from the system32 folder, so that the one you got
> with GIMP gets used instead.
> 
> BTW, on my machine, I seem to have a version of expat where the DLL in
> question is called "libexpat.dll". I don't recall right now where I
> got that from, or whether I built it myself.
> 
> This kind of confusion is not uncommon in the world of Free and Open
> Source software for Win32. They typically occur when the "official"
> way to build for Win32 is with MSVC and the package's official sources
> provide MSVC makefiles that produce a certain DLL, but if you build
> using autofoo and libtool instead you get another name. Then different
> people distribute binaries built in the two (or even more)
> ways. Well-known cases are gettext-runtime (intl.dll vs. libintl3.dll)
> and libiconv (iconv.dll vs. some libiconv*.dll.)

... the takeaway here is that if you know some other distribution that
is installing GTK libs into system32, you should contact them and get
them to stop!

Cheers,
Tim Shead





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