OpenSSL DLL deployment suggestions

I made a simple application that uses Indy and requires the OpenSSL DLL.

I am not going to write an installer for it, so I have 2 options:

1) expand it by copying the exe + libeay32.dll + ssleay32.dll application to the same folder

2) put libeay32.dll and ssleay32.dll in exe resources and extract them to the application path when the program starts (but this can be a problem if I run exe on windowsserver 2008 or Windows Vista, and I used the Program Files folder for " deployment ")

Can you comment on these techniques or suggest a better approach?

+5
source share
4

1): D

2, :

GetSpecialFolderPath(CSIDL_LOCAL_APPDATA))

SetDLLDirectory(DirectoryPath:PWideChar) 

, dll

, , !

: , , UnixShadow, dll, , !

+4

3: Inno ! , , , ( ), Inno. , . !

, Inno , ...

+3

Lazarus.

, , , sb, openssl, , , . .

, FPC/Lazarus mingw (GNU-), mingw libs (.a's) .

, , mysql, , , .

, , .

+2

I would install them in the same folder (option 1), with the addition of actually MD5 two dlls when starting my program. To check that they have not been changed. It doesn't help much when it comes to the fact that a hacker can change my MD5 amount, which I would compare. But this would at least stop the program from using damaged DLLs. Of course, this also blocks the ability to update the DLL without updating the main application (with good bad).

+1
source

All Articles