Thread: More problems with the win32 installer for 8.1 beta3

More problems with the win32 installer for 8.1 beta3

From
Tony Caduto
Date:
Hi all,

I sent out a message about this before, but for reasons beyond my 
control, I could not continue that thread.

Anyway, not only does the installer blow away libpq.dll, it also removes 
all the Open SSL dlls, this is even more troubling
because LOTS of other apps depend on OpenSSL.

This morning when I got to work I downloaded beta3 and uninstalled 8.03, 
then installed it (beta3) and of course did not select PG Admin III, 
then did a search for libpq.dll and it was gone, not sure if 
uninstalling 8.03 got rid of it or if installing 8.1 did the deed.
I then went ahead and used a remote control app that uses open SSL, then 
I get "Can't load libeay32.dll"

So in conclusion either the installer or uninstaller is blowing away 
system DLLS without even asking me if I want to keep them, this is very 
bad behavior.


Thanks,

Tony


Re: More problems with the win32 installer for 8.1 beta3

From
"Dave Page"
Date:

> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Tony Caduto
> Sent: 17 October 2005 15:53
> To: pgsql-hackers@postgresql.org
> Subject: [HACKERS] More problems with the win32 installer for
> 8.1 beta3
>
> Hi all,
>
> I sent out a message about this before, but for reasons beyond my
> control, I could not continue that thread.
>
> Anyway, not only does the installer blow away libpq.dll, it
> also removes
> all the Open SSL dlls, this is even more troubling
> because LOTS of other apps depend on OpenSSL.
>
> This morning when I got to work I downloaded beta3 and
> uninstalled 8.03,
> then installed it (beta3) and of course did not select PG Admin III,
> then did a search for libpq.dll and it was gone, not sure if
> uninstalling 8.03 got rid of it or if installing 8.1 did the deed.
> I then went ahead and used a remote control app that uses
> open SSL, then
> I get "Can't load libeay32.dll"
>
> So in conclusion either the installer or uninstaller is blowing away
> system DLLS without even asking me if I want to keep them,
> this is very
> bad behavior.

Now that's different from what you said earlier. Uninstalling 8.0 will
remove any DLLs it installed, unless their reference count in non-zero
in which case it should leave them. Did your remote control program
increment the reference count for the ssl libs? Regardless of the answer
to that, it's the Windows installer that removes files, so this
particular issue should be directed at Microsoft.

It should also be noted that the SSL libraries prior to 0.9.8 contained
no versioning info, so could easily be overwritten by other progams
(Crystal Reports is a commonly noted example because they use a very old
incompatible version that shows up very quickly). We now use 0.9.8 which
does have proper version info.

Regards, Dave.


Re: More problems with the win32 installer for 8.1 beta3

From
"Magnus Hagander"
Date:
> Hi all,
>
> I sent out a message about this before, but for reasons
> beyond my control, I could not continue that thread.
>
> Anyway, not only does the installer blow away libpq.dll, it
> also removes all the Open SSL dlls, this is even more
> troubling because LOTS of other apps depend on OpenSSL.
>
> This morning when I got to work I downloaded beta3 and
> uninstalled 8.03, then installed it (beta3) and of course did
> not select PG Admin III, then did a search for libpq.dll and
> it was gone, not sure if uninstalling 8.03 got rid of it or
> if installing 8.1 did the deed.
> I then went ahead and used a remote control app that uses
> open SSL, then I get "Can't load libeay32.dll"
>
> So in conclusion either the installer or uninstaller is
> blowing away system DLLS without even asking me if I want to
> keep them, this is very bad behavior.

The uninstall will indeed remove the files. The install will not touch
them.

OpenSSL libraries should never have gone in SYSTEM32, because they
contain no  versioning information. If they did, they could be dealt
with in a better way in the installer.

Right now we're more or less at the mercy of Windows Instlaler, which
will remove the files that it originally installed unless someone else
registered in the MSI database that they were using it.

Your solution to this is to copy the openssl DLL files to each
applications binary directory. It may suck, but that's how you'll have
to do it :(


//Magnus


Re: More problems with the win32 installer for 8.1 beta3

From
Tony Caduto
Date:
Magnus Hagander wrote:

>>Hi all,
>>
>>I sent out a message about this before, but for reasons 
>>beyond my control, I could not continue that thread.
>>
>>Anyway, not only does the installer blow away libpq.dll, it 
>>also removes all the Open SSL dlls, this is even more 
>>troubling because LOTS of other apps depend on OpenSSL.
>>
>>This morning when I got to work I downloaded beta3 and 
>>uninstalled 8.03, then installed it (beta3) and of course did 
>>not select PG Admin III, then did a search for libpq.dll and 
>>it was gone, not sure if uninstalling 8.03 got rid of it or 
>>if installing 8.1 did the deed.
>>I then went ahead and used a remote control app that uses 
>>open SSL, then I get "Can't load libeay32.dll"
>>
>>So in conclusion either the installer or uninstaller is 
>>blowing away system DLLS without even asking me if I want to 
>>keep them, this is very bad behavior.
>>    
>>
>
>The uninstall will indeed remove the files. The install will not touch
>them.
>
>OpenSSL libraries should never have gone in SYSTEM32, because they
>contain no  versioning information. If they did, they could be dealt
>with in a better way in the installer.
>
>Right now we're more or less at the mercy of Windows Instlaler, which
>will remove the files that it originally installed unless someone else
>registered in the MSI database that they were using it.
>
>Your solution to this is to copy the openssl DLL files to each
>applications binary directory. It may suck, but that's how you'll have
>to do it :(
>
>
>  
>
I actually tried that with libpq and it didn't really work because of 
the libintl-2.dll and libiconv-2.dll dependencies.
I removed libpq.dll,libintl-2.dll and libiconv-2.dll from the system32 
dir, I placed all three in my applications directory and when I loaded 
libpq.dll it complained that it could not find
libintl-2.dll and libiconv-2.dll, I can only conclude that paths to 
libintl-2.dll and libiconv-2.dll are hard coded in libpq.dll somewhere.

Is there anyway to get a libpq that does not depend on libintl-2.dll and 
libiconv-2.dll?  (short me spinning my wheels for hours trying to figure 
out C code).

Thanks,


Tony


Re: More problems with the win32 installer for 8.1 beta3

From
"Dave Page"
Date:


-----Original Message-----
From: pgsql-hackers-owner@postgresql.org on behalf of Tony Caduto
Sent: Mon 10/17/2005 5:43 PM
Cc: pgsql-hackers@postgresql.org
Subject: Re: [HACKERS] More problems with the win32 installer for 8.1 beta3
> Is there anyway to get a libpq that does not depend on libintl-2.dll and
> libiconv-2.dll?  (short me spinning my wheels for hours trying to figure
> out C code).

Recompile it without NLS support - but please don't distribute such a build as you may end up with us telling people
notto use your product if you inadvertantly end up breaking psqlODBC or something similar. 

I really think you have something else wrong however - there is no reason the gettext, ssl or kerberos libs shouldn't
befound if they and libpq are in the same directory as your executable. 

Regards, Dave.