我使用Indy和Delphi进行FTP或电子邮件。使用Delphi XE2,我部署了ssleay32.dll和libeay32.dll,我的应用程序正确运行给我的客户。
但是自从升级到XE6后,一些客户端出现了一条错误消息,说无法找到msvcr100.dll。
这是一个新的dll?
答案 0 :(得分:3)
msvcr100.dll
是MSVC 2010运行时。显然,您的特定OpenSSL DLL依赖于它。许多程序将安装MSVC运行时,因此找到一些已经拥有它的机器很常见,而其他程序则没有。这就是这里发生的事情。
如果您分发可以从Fulgan站点获得的OpenSSL DLL,那么您将不再需要分发任何进一步的运行时。这些DLL不依赖于MSVC运行时。 Indy页面中有一个链接:http://www.indyproject.org/sockets/ssl.en.aspx
您应该对您分发的OpenSSL DLL感兴趣,因为存在潜在的安全问题。最近,在Indy依赖的OpenSSL实现中发现了一些惊人的漏洞。
答案 1 :(得分:-1)
在你的帮助下,我找到了解决方案。
随着ssleay32.dll和libeay32.dll随XE6一起提供,我需要部署msvcr100.dll。 ssleay32.dll和libeay32.dll在版本1.0.0.7中(http://indy.fulgan.com/SSL/中的1.0.0g)
使用它的最后一个版本(1.0.1.10(http://indy.fulgan.com/SSL/中的1.0.1j))我不需要部署msvcr100.dll。