I made an application that uses the openssl dlls (libeay32.dll
and ssleay32.dll
).
It is indy using them, I don't call the dlls directly.
The simplest workaround i found to avoid an installer (i just delpoy an exe and i am ok with this approach) is to:
This is perfect but I would like to improve the approach by extracting the dlls in a temp folder and not on the exe folder (that in many cases is the desktop).
The problem is that I don't know how to force the application to use the dlls in the temp folder, because now the behaviour is: if dlls are not in current directory try to search in the directories defined in the system path.
Who knows a solution to force indy to use the dlls in my temp path? (like "temporarly registering the dlls")
Once you find the folder, hold the Shift key and right-click the folder to open the command prompt directly in that folder. Type "regsvr32 [DLL name]. dll" and press Enter. This function can add the DLL file to your Windows Registry, helping you access your DLL file.
If no path is specified for the DLL and the DLL is not listed in the Windows registry, Windows searches for the DLL in the following locations in order: The .exe file directory. The current directory. The %SystemRoot%\SYSTEM32 directory.
Your DLL files are located in C:\Windows\System32.
A dynamic link library (DLL) is a collection of small programs that larger programs can load when needed to complete specific tasks. The small program, called a DLL file, contains instructions that help the larger program handle what may not be a core function of the original program.
If you are using an up-to-date version of Indy 10, the IdSSLOpenSSLHeaders
unit has a public IdOpenSSLSetLibPath()
function to tell Indy which custom folder to look in for the OpenSSL DLLs:
procedure IdOpenSSLSetLibPath(const APath: String);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With