我对我们的可执行文件有问题。我正在我的Windows764位开发框上运行这个32位的C++可执行文件,它还有所有的微软应用程序(Visual 2008 + 2010,TFS,SDK,Microsoft ).它的运转还很好。
现在我得到了同一个程序的客户端安装,并被要求用干净的Windows 7安装测试它。因此,我得到了一个Windows764位VMware,并将其更新为Windows7SP1(与我的开发人员框正在调优的版本完全相同)。但是,尽管在我的开发人员框中,一切都很好,但该程序不适用于VMware (30天试用)框。
x86 依赖沃克告诉我缺少以下DLL文件:
我在谷歌上搜索了那些API-MS-双赢.DLL文件,并发现它们实际上应该是Windows 7的一部分(不过,有些站点声称它们属于Windows 8和Windows 2012 )。
我已经尝试了我找到的建议修复方法,它们是:
但这并没有解决任何问题。:-(
附带注意:我的开发盒也没有它们,而且似乎不需要它们。例如,我的框中的user32.dll没有链接到其中的一个,而VMware上的安装则是这样。
有什么办法解决这个问题吗?我试图在Microsoft页面上找到合适的下载/修复程序,但失败了。
在解决了我的问题后,我想报告我发现了什么,但我不能把它作为答案,因为这个问题已经结束了。
实际上,Dependency工具所报告的所有DLL文件都丢失了,即
* API-MS-WIN-CORE-...类型DLL文件不是实际问题的一部分。
在我的例子中,丢失了三个OCX文件的注册,之后一切都很好,但是Dependency工具仍然列出了所有与以前完全相同的DLL文件,即使程序现在运行得很好。
它的要点是:正如其他人所说的那样,这个工具现在有点过时了,并不总是能在新的操作系统上正常工作。因此,请睁大眼睛,不要误以为错过了‘API-MS-WIN COM-l1-1-0.dll’,问题可能完全在其他地方。
发布于 2013-07-18 15:47:35
此问题与缺少Visual“可再发行包”有关。根据依赖项遍历,不清楚缺少哪一个,但我会先尝试与编译器版本相对应的方法,看看是否正常运行:
2010
2008
遇到此问题是因为我使用的是Visual编译器,而不是整个Visual环境。
敢在这里插入一个新链接:最新支持的VisualC++下载。Stein,smul,29.11.2018。
发布于 2013-12-16 08:18:27
我刚刚用C++ Qt 5和Windows7.64位解决了同样的问题,用MSCVC 2012。
起初,我认为这是MSVC/Windows文件问题,但正如BorisP所说,问题在于我的项目依赖关系。关键是“如何知道Qt5中的项目依赖关系?”。
由于我没有找到任何明确的方法来了解它(依赖沃克对我没有多大帮助……),接下来我遵循了“逆过程”,该过程不超过5分钟,并且避免了DLL文件依赖关系带来的很多麻烦:
当所有DLL文件都位于同一个文件夹中时,更容易找到其中哪些无效(XML、WebKit、.),因此这种方法不会超过5分钟。
发布于 2016-03-27 06:40:27
如前所述,DCOMP是VC++再分发表(实现OpenMP运行时)的一部分,是唯一真正缺少的组件。其余的都是假报告。
具体来说,API-MS-WIN-XXXX.DLL是从Windows7开始逐渐引入的API-sets 本质上,一个额外级别的间接呼叫。依赖沃克开发似乎在此之前就停止了很久,并且无法正确处理API集。
所以没什么好担心的。你不会再错过什么了。
找到真正需要的DLL文件的另一种更好的方法是运行过程监视器并从故障中退一步,在所有系统路径中搜索特定DLL文件的失败探测序列。
https://stackoverflow.com/questions/17023419
复制相似问题