Forum > Networking and Web Programming

fphttpclient. set path openssl libs

<< < (2/2)


Hi, here is my guide on it. It's in Italian, but with an online translator you should be able to understand it.
Good work


--- Quote from: Thaddy on June 05, 2023, 11:46:21 am ---It is a very bad idea to specify specific locations for libraries.
They should be in the correct directories:
In the case of windows:
\windows\sysWOW64 for 32 bit and \windows\system32 for 64 bit. This is not a typo! as I explained many times before on this forum.
--- End quote ---

If a Windows application uses a specific version of the OpenSSL libraries they should be provided with the application at the location of its binary. The OpenSSL libraries on Windows are not versions thus two different applications copying their OpenSSL libraries to the system directories would lead to problems for one of the two.

Thanks to all contributors and special thanks to paweld for answering the question.  :)


--- Quote from: Thaddy on June 05, 2023, 01:39:18 pm ---On the contrary:
dll hell is - always- caused by not reading manuals.
I thought you knew better.
If anybody would have followed procedures, there is no hell at all...

--- End quote ---

From the wikipedia entry:

--- Quote ---The problem arises when the version of the DLL on the computer is different than the version that was used when the program was being created. DLLs have no built-in mechanism for backward compatibility, and even minor changes to the DLL can render its internal structure so different from previous versions that attempting to use them will generally cause the application to crash.
--- End quote ---

And under solutions:

--- Quote ---An easy manual solution to conflicts was placing the different versions of the problem DLL into the applications' folders, rather than a common system-wide folder.
--- End quote ---

The problem is, you do not know what other software may be running on the end users computer, and what libraries they might have installed themselves, or through other software. Meaning, if you install a custom version of a library system wide, you don't know what other versions you may override and what you break by doing so. Applications should try to cause as little disturbance to the system they run on as possible, meaning you should have build them as self contained as possible.

And what procedures do you mean? Lets say you are a user and you have two applications, one ships and requires a library on version 1.0, the other one on 1.2. Each program does not work with the other version of the library, and both programs install the library in the system directory.
What procedures could have been taken here to avoid this (other than at least one of those not installing their library system wide)?


[0] Message Index

[*] Previous page

Go to full version