ANSWER: This problem occurs because a library file named SSLEAY32.dll and LIBEAY32.dllhas become corrupted or replaced with a different version than the one which supports Postgres 8.4. The offending version(s) of SSLEAY32.DLL and LIBEAY32.dll must be manually replaced. The issue can be determined by examining that the coll_db_config.log file in following directory will be empty:
C:\Program Files (x86)\PostgreSQL\8.4\data (for 64 bit)
C:\Program Files\PostgreSQL\8.4\data (for 32 bit). ; AND
PGADMIN will show that the collector database has not been created.
In case of migration, C:\BlueCoat\DataCollector\logs\collector_migration_<Day>.log file will not be created. The error is not directly logged in any file but if you run configure_database separately, you’ll see the message as given:
C:\BlueCoat\DataCollector\lib\dbscript>set PATH=C:\Program Files\PostgreSQL\8.4\bin;C:\Program Files\PostgreSQL\8.4\bin;C:\BlueCoat\IntelligenceCenter\Python\;C:\BlueCoat\IntelligenceCenter\Python;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Dell\SysMgt\oma\bin
C:\BlueCoat\DataCollector\lib\dbscript>set PG_HOME=C:\Program Files\PostgreSQL\8.4
C:\BlueCoat\DataCollector\lib\dbscript>C:\BlueCoat\IntelligenceCenter\Python\\python C:\BlueCoat\DataCollector\lib\dbscript\coll_db_config.py 1>"C:\BlueCoat\data\coll_db_config.log"
SSLEAY32.DLL and LIBEAY32.dll are a library that is part of the OpenSSL Toolkit. It is used in many open source and even commercial applications including: Open VPN, Curl PHP, Apache itself, OpenSSL for Windows, and many others. It is also Part of the Dell SAS Raid Array package:
It also, because it is so widespread, has been a target for disguise of Key logger and Trojan software. It is often impossible to determine which software component replaced this file, but a post mortem should note any time stamps or audit trails or other locations on the server where this file is found.
1) In order to do so, the customer should obtain a copy of the PostgreSQL 8.4 validated file from BlueCoat support:
2) The file should be copied to the desktop of the server in question after logging in as a local administrator, hopefully, the one as was used to install originally.
3) A search of the entire File system connected to the server should be done searching for SSLEAY32.DLL. If any copies are found, they should have their location noted and for each one the following process followed:
A. Open a command prompt and change to one of the locations noted above.
B. Typically neither SSLEAY32.dll nor LIBEAY32.dll require registration. If on the off chance it does, uninstall the registered DLL as follows: Enter the following at the command prompt: Regsvr32 /u SSLEAY32.dll <enter>. Or LIBEAY32.dll. A command-line message will let you know if the operation succeeded or failed.
C. After that has been done for each occurrence, each one should be renamed to something like SSLEAY32.old and left in that location.
D. Then the copy on the desktop should be copied to each of those locations including %WINDOWS%/System32/ and %PG_HOME%/bin/
E. Again, if you are dealing with a DLL that requires registration, at the prompt, enter the following command to register SSLEAY32.dll: Regsvr32 SSLEAY32.dll <enter>. Or LIBEAY32.dll. You will get a message in the command prompt window letting you know if the registration succeeded or failed.
Note: You may not need to deregister or register the DLL. But you still need to rename any copies in other locations because Windows will seek the closest copy to use (thus the conflict) as directed.
4) After these changes have been made, reboot the server and then run the registry cleanup script for DC in /BlueCoat/bin/tools/.
5) After this batch file has completed, attempt the DataCollector install or upgrade again and it should complete normally.