Windows 7、64位,DLL问题 [英] Windows 7, 64 bit, DLL problems

查看:317
本文介绍了Windows 7、64位,DLL问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的可执行文件有问题。我正在Windows 7 64位开发箱上运行此C ++ 32位可执行文件,该箱还具有所有那些Microsoft应用程序(Visual Studio 2008 + 2010,TFS,SDK,Microsoft Office)...
仍然可以正常运行。

I have a problem with our executable. I'm running this C++ 32-bit executable on my Windows 7 64-bit development box that also has all those Microsoft applications (Visual Studio 2008 + 2010, TFS, SDK, Microsoft Office)... And it's still running just fine.

现在我在客户端安装了相同的程序,并被要求使用干净的Windows 7安装程序对其进行测试。因此,我得到了一台Windows 7 64位VMware,并将其更新为Windows 7 SP 1(与我的开发人员正在调整的版本相同)。
,但是在我的开发人员盒上,一切都很好,该程序无法在VMware(30天试用期)盒中使用。

Now I got the client installation of the very same program and was asked to test it with a clean Windows 7 installation. Thus I got one Windows 7 64-bit VMware and updated it to Windows 7 SP 1 (the very same version my developer box is tuning). But while on my developer box everything is fine the program does not work with the VMware (30 days trial) box.

x86 Dependency Walker 告诉我缺少以下DLL文件:

The x86 Dependency Walker is telling me that the following DLL files are missing:


  • API-MS-WIN-CORE-COM-L1-1-0.DLL

  • API-MS-WIN-CORE-WINRT-ERROR-L1 -1-0.DLL

  • API-MS-WIN-CORE-WINRT-L1-1-0.DLL

  • API-MS-WIN -CORE-WINRT-ROBUFFER-L1-1-0.DLL

  • API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL

  • API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL

  • DCOMP.DLL

  • GPSVC.DLL

  • IESHIMS.DLL

  • API-MS-WIN-CORE-COM-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
  • API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
  • DCOMP.DLL
  • GPSVC.DLL
  • IESHIMS.DLL

我用Google搜索了这些API-MS-WIN -... DLL文件,发现它们实际上应该已经是Windows 7的一部分(尽管有些站点声称属于Windows 8和Windows Server 2012)。

I googled for those API-MS-WIN-... DLL files and found they should actually already be part of Windows 7 (some sites claiming the belong to Windows 8 and Windows Server 2012 though).

我已经尝试过我发现的建议修复方法是:

I already tried the suggested fixes I found, which are:


  • 运行'sfc / scannow'

  • 安装Visual Studio 2008 SP1运行时可执行文件

但这并不能解决任何问题。 :-(

But that didn't solve anything. :-(

侧面说明:我的开发箱也没有,并且似乎也不需要它们。例如,我的开发箱中的user32.dll不需要

Side note: My development box does not have them either, and does not seem to need them. For example, the user32.dll on my box does not link against one of those, while the installation on the VMware does.

关于如何解决此问题的任何想法吗?
我试图找到合适的下载地址/

Any idea on how to fix this issue? I tried to find a suitable download / fix on the Microsoft pages, but I failed.

在解决了我的问题后,我想报告发现的内容,然后我无法将其发布为答案,因为问题已经解决。

After solving my issue I wanted to report what I found out, and I can't post this as an answer because the question has been closed.

实际上,Dependency Walker工具报告的所有DLL文件都丢失了,即那些

Actually all the DLL files reported missing by the Dependency Walker tool, namely those

* API-MS-WIN-CORE-...

类型的DLL文件不是实际问题的一部分。

type DLL files were not part of the actual problem.

在我的情况下,缺少三个OCX文件的注册,之后一切都很好,但是即使程序只是一个程序,BUT Dependency Walker工具仍然列出了与以前相同的所有DLL文件。

In my case the registration of three OCX files was missing and after that everything was just fine, BUT Dependency Walker tool still listed all the very same DLL files as before even when the program was just running fine now.

要点:正如其他人所说,该工具到现在为止已经过时,并且不能始终在更新的OS上正常使用。因此,请睁大眼睛,不要因缺少'API-MS-WIN-CORE-COM-L1-1-0.DLL'而引起误导,...问题可能完全出在其他地方。

The gist of it: As someone elsewhere stated, the tool is a bit dated by now and does not always work properly with a newer OS. Thus keep an eye open and don't get mislead by missing 'API-MS-WIN-CORE-COM-L1-1-0.DLL', ... the problem probably lies entirely elsewhere.

推荐答案

此问题与缺少Visual Studio可分发包有关。基于依赖关系遍历,哪一个丢失不明显,但是我会先尝试与您的编译器版本相对应的那个,然后看运行是否正常:

This problem is related to missing the Visual Studio "redistributable package." It is not obvious which one is missing based on the dependency walk, but I would try the one that corresponds with your compiler version first and see if things run properly:

< a href = https://www.microsoft.com/zh-cn/download/details.aspx?id=48145 rel = noreferrer> Visual Studio 2015

Visual Studio 2013

Visual Studio 2010

Visual Studio 2008

我遇到了这个问题,因为我使用的是Visual Studio编译器,而不是完整的Visual Studio环境。

I ran into this problem because I am using the Visual Studio compilers, but not the full Visual Studio environment.

要敢于在此处注入新链接: 最新支持的Visual C ++下载 SteinÅsmul,29.11.2018

Going to dare to inject a new link here: The latest supported Visual C++ downloads. Stein Åsmul, 29.11.2018.

这篇关于Windows 7、64位,DLL问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆