赢7,64位,DLL的问题
我的可执行文件有问题。 我在我的Win-7 64位开发盒上运行这个C ++ 32位可执行文件,该开发盒也具有所有这些MS应用程序(Visual Studio 2008 + 2010,TFS,SDK,MS Office)......并且它仍然运行良好。
现在我得到了同样的程序的客户端安装,并要求用干净的Win-7安装来测试它。 因此,我获得了Win-7 64位VM Ware并将其更新为Win-7 SP 1(与我的开发人员盒完全相同的版本)。 但是,在我的开发者框中,一切都很好,该程序不适用于VW Ware(30天试用版)框。
x86依赖walker告诉我,下面的dll缺失:
我搜索了那些API-MS-WIN -... dll,发现它们实际上已经是Win-7的一部分了(有些网站声称属于Win-8和Win 2012服务器)。
我已经尝试了我找到的建议修复程序,它们是:
但是这并没有解决任何问题。 :-(
附注:我的开发箱也没有它们,似乎也不需要它们。 例如,我的盒子上的user32.dll没有链接到其中的一个,而VM ware上的安装却没有。
任何想法如何解决这个问题? 我试图在MS页面上找到合适的下载/修复,但失败了。
问候,托马斯
解决了我的问题后,我想报告发现的内容,但因为问题已关闭,所以无法将其作为答案发布。
实际上,所有的DLLs都被依赖walker工具报告了,而nameley则是这些工具
* API-MS-WIN-CORE-...
类型的DLL不是实际问题的一部分。
在我的情况下,3 OCX文件的注册丢失,然后一切都很好,但依赖walker工具仍然列出所有非常相同的DLL,即使现在程序运行良好。
它的要点:正如其他人所说的那样,该工具现在有点过时了,并且不能适用于较新的操作系统。 因此,请保持眼睛畅通,不要因错过'API-MS-WIN-CORE-COM-L1-1-0.DLL'而误导,...问题可能完全在于别处。
此问题与缺少Visual Studio“可再发行组件包”有关。 基于依赖关系散步并不清楚哪一个是缺失的,但我会首先尝试一个与您的编译器版本相对应的版本,看看是否正常运行:
VS 2015
VS 2013
VS 2010
VS 2008
我遇到了这个问题,因为我正在使用VS编译器,但不是完整的VS环境。
我也是,我刚刚用MSCVC 2012解决了与C ++ Qt5和W7 64bits相同的问题。
一开始我以为这是一个MSVC / Windows DLL问题,但正如BorisP所说,问题出在我的项目依赖关系中。 关键是“ 如何知道Qt5中的项目依赖关系? ”。
因为我没有找到任何明确的方法来知道它(依赖Wolker并没有多少帮助我......),所以我采用了下一个“反向过程”,这个过程不超过5分钟,避免了Dll依赖关系带来的许多麻烦:
当你将所有的DLL放在同一个文件夹中时,可以更容易地找到它们中的哪些无效(XML,webkit ...无论如何),因此这种方法不会超过五分钟。
我刚刚解决了同样的问题。
在这种情况下,依赖沃克是误导,并导致我失去时间。 所以,从第一篇文章中“失踪”DLL的列表是没有用的,你可以忽略它。
解决方案是找到您的项目正在调用哪些引用,并检查它们是否真正安装在服务器上。
@Ben Brammer,哪3个.ocx文件丢失并不重要,因为他们只是为了Leo T Abraham的项目而缺失。 您的项目可能会调用其他dll。
在我的情况下,它不是3 .ocx文件,但缺少MySQL连接器DLL。 在服务器上安装用于.Net的MySQL连接器后,问题消失。
因此,简而言之,解决方法是:检查您的所有项目参考是否存在。
干杯
链接地址: http://www.djcxy.com/p/26821.html