Re: msvcr80.dll and PostgreSQL 8.3 under Windows XP - Mailing list pgsql-general

From Magnus Hagander
Subject Re: msvcr80.dll and PostgreSQL 8.3 under Windows XP
Date
Msg-id 20080218152057.GG30632@svr2.hagander.net
Whole thread Raw
In response to Re: msvcr80.dll and PostgreSQL 8.3 under Windows XP  (Hermann Muster <Hermann.Muster@gmx.de>)
List pgsql-general
On Mon, Feb 18, 2008 at 04:11:14PM +0100, Hermann Muster wrote:
> Dave Page schrieb:
> >On Feb 18, 2008 10:05 AM, Hermann Muster <Hermann.Muster@gmx.de> wrote:
> >
> >>Hi Dave,
> >>
> >>after testing several combinations I can tell you following, because
> >>maybe I couldn't make clear what my problem is. The msvcr80.dll is
> >>correctly installed in the
> >>C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700
> >>respective the
> >>C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.163_x-ww_681e29fb
> >>folder for my german version of Windows XP.
> >>
> >>What I don't understand is why the msvcr80.dll is not copied to the
> >>PostgreSQL\8.3\bin directory by the PostgreSQL 8.3 setup.
> >>
> >
> >Because it's not supposed to be.
> >
> >
> >>Because when I
> >>check the libpq.dll with the Dependancy Viewer, the msvcr80.dll can not
> >>be found, however it is installed in the above two folders. And that's
> >>where my application comes into play. The libpq.dll can't be used
> >>because it does not find the msvcr80.dll. Did you check on that before?
> >>Can you load this library?
> >>
> >
> >Yes - if the runtimes are *properly* installed, any application should
> >be able to find them in the winsxs folder - thats how Microsoft
> >designed it to work.
> >
> >Did you try doing what I asked in my previous message?
> >
> >
> I finally found the problem. I unfortunately used an "very" old version
> of Dependency Walker which couldn't handle the libpq.dll and always
> showed that the msvcr80.dll is missing. After installing PostgreSQL 8.3
> and updating the Dependency Walker, everything seems to be fine and my
> application can use the libpq.dll. Will test it again in the next days.
>
> However, one question remains. On my clean Virtual PC Image, there is
> already a folder
> "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.163_x-ww_681e29fb"
> containing the msvcr80.dll. After installing PostgreSQL or the runtimes,
> there is another folder
> "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700".

The second one is a servicepacked version. IIRC, it also contains some
security fixes.

> But only the path of the dll installed with the runtimes is recognized.
> Does that mean our customers have to install the runtimes at all costs?
> That would be the case if our application is running on a client, not the
> server PostgreSQL is installed on?

Yes, any app linked against libpq need these runtimes.

//Magnus

pgsql-general by date:

Previous
From: "Dave Page"
Date:
Subject: Re: msvcr80.dll and PostgreSQL 8.3 under Windows XP
Next
From: Stefan Niantschur
Date:
Subject: Re: How to return a large String with C