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

查看:31
本文介绍了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-... 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 没有链接到其中之一,而 VMware 上的安装却有.

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.

知道如何解决这个问题吗?我试图在 Microsoft 页面上找到合适的下载/修复程序,但失败了.

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 文件的注册丢失了,之后一切都很好,但即使程序现在运行良好,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.

它的要点:正如其他人所说,该工具现在有点过时,并且在较新的操作系统上并不总是能正常工作.因此,请保持警惕,不要因为缺少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:

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,2018 年 11 月 29 日.

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天全站免登陆