【问题标题】:MSVCR110.dll missing on Win 8.1 needed for TIdHTTPTIdHTTP 所需的 Win 8.1 上缺少 MSVCR110.dll
【发布时间】:2014-09-06 05:25:52
【问题描述】:

在 Delphi XE2 中,我使用 Indy TIdHTTP 进行 http 连接。在 Windows 7 中,它可以完美运行。但是现在我已经在 Windows 8.1 计算机上启动了该程序,并且在尝试连接时(在 Windows 7 中可以完美运行)我从 Windows 收到一条错误消息,告诉我计算机上缺少 MSVCR110.dll (消息标题:“拖动:MyProgram.exe - 系统错误”)。

从我的 Windows 7 计算机中获取 MSVCR110.dll 并将其安装在我的应用程序目录中的 Windows 8.1 计算机上是否安全?当我在 Windows 8.1 的应用程序目录中安装 DLL 时,是否必须以某种方式注册 DLL?

EDIT 201407152319: Ahhhh,找到罪魁祸首:当使用新的(版本 1.0.1.7)(heart-bleed-tested)libeay32.dll 时,此错误仅在 Windows 8.1 中发生ssleay32.dll!在 Windows 8.1 中使用较旧的 DLL 时不会发生错误!

【问题讨论】:

  • 两个答案同样正确且有帮助。我不确定我应该检查哪一个。
  • 我删除了我的答案,因为我似乎误解了这个问题。我以为您想知道如何满足依赖关系,但似乎您想知道如何删除它。
  • 我恢复了您的编辑。您显然热衷于解决您的问题,但问答是关于回答问题。如果您想编辑问题以询问如何删除更适合您接受的答案的依赖项。我建议你这样做。

标签: delphi dll delphi-xe2 windows-8.1 idhttp


【解决方案1】:

Indy 不依赖于 VC++ 运行时库。但是,OpenSSL DLL 的某些发行版可以。 Indy 的 Fulgan mirror 上可用的 OpenSSL DLL 已在没有依赖项的情况下编译。

【讨论】:

  • 也就是说他们有两个运行时,每个一个,看起来很浪费
  • 也许,但很多人不喜欢依赖。 Indy 不关心任何一种方式,使用任何你想要的 OpenSSL DLL。您不必使用 Fulgan DLL。提供它们是为了方便,而不是要求。
  • 嗯,Fulgan 的“openssl-1.0.1h-i386-win32.zip”也适用于 Windows 7 x64,尽管存档名称中有“win32”。但是 Fulgan “openssl-1.0.1h-x64_86-win64.zip”在 Windows 8 32 位中不起作用。所以我假设我应该在 Windows 7/8/8.1 和 32/64 位版本中都从“openssl-1.0.1h-i386-win32.zip”安装 DLL?
  • 有谁知道 Fulgan DLL 是否经过心脏出血测试?
  • 操作系统是32bit/64bit并不重要,重要的是你的应用是32bit/64bit。如果您的应用是 32 位的,则必须使用 32 位 DLL。如果您的应用是 64 位,则必须使用 64 位 DLL。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-20
  • 2014-02-19
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
  • 2018-01-26
相关资源
最近更新 更多