LaB*_*cca 5 delphi deployment resources openssl indy
我做了一个使用Indy的简单应用程序,需要OpenSSL dll.
我不打算为它编写安装程序,所以我有两个选择:
1)通过在同一文件夹中复制应用程序exe + libeay32.dll + ssleay32.dll来部署它
2)将libeay32.dll和ssleay32.dll放在exe资源中并在程序启动时将它们解压缩到applicationpath(但是如果我在windowsserver 2008或windows vista上运行exe并且我使用了本程序,这可能会出现问题文件夹"部署")
你能评论一下这些技术或建议更好的方法吗?
你可以坚持选择 1) :D
或者,您可以使用数字 2 的变体,但将它们提取到应用程序数据路径:
GetSpecialFolderPath(CSIDL_LOCAL_APPDATA))
Run Code Online (Sandbox Code Playgroud)
并使用
SetDLLDirectory(DirectoryPath:PWideChar)
Run Code Online (Sandbox Code Playgroud)
指定从哪里加载 dll
当然,说实话,编写一个简单的安装程序会更快!
编辑:哦,是的,正如 UnixShadow 提到的,对 dll 进行哈希处理,这样您就可以确定您使用的是正确的文件!