2010-07-08 83 views
2

这个错误出现在Debug/Release中。从VS2008运行可执行文件时出现错误“应用程序无法正确启动(0x000007b)”x64

所以最初的问题是它有32位库,我没有链接到它的64版本。 (此问题的早前版本) 我修正了这个问题。

并且应用程序在Windows Server Standard 2008R2 x64上运行。

我试着在Windows Server Enterprise上运行应用程序,但上面提到了(标题)提到的错误消息。

依赖walker说:“发现了不同CPU类型的模块”,由于某种原因,它似乎与32位库链接不正确,但那是来自mshtml.dll(win lib)的东西,它链接到winsxs \ x86 ..文件夹到COMCTL32.dll,但该lib是在System32文件夹(正确的一个),所以不知道为什么它链接到这一个

任何想法?

回答

2

我试过重新安装Visual C++ redistributable但没有帮助。

哪一个 - 你的安装和补丁VC编译器附带的,还是你从网上下载它?你是否安装了32位redist或64位 - 它们是单独安装的,即64位redist不包括32位redist文件。

不同CPU类型的模块被发现

是的,你必须将CPU类型匹配,所有32位或全部64位。

鉴于IESHIMS给人的感觉上的浏览器插件工作

  • 如果你做一个浏览器插件(BHO - IE插件式/扩展),那么你需要注册seperately 32 & 64位,但如果你连接到ie作为外部服务器,那么你只需要确保你有正确的匹配你的应用程序的其余部分。
  • 如果您制作FF插件,请不要忘记将mozilla目录添加到depends的搜索路径中,并且在进行更改时不要忘记您必须重置firefox插件缓存以尝试加载插件再次(更改文件夹名,启动FF,然后更改名称后)

的%ProgramFiles%/ Internet Explorer来System32中。

因此,这将是64位,即DLL,到??/System32下

我建议删除所有已添加到SYSTEM32中的DLL,这样导致DLL地狱。

+0

+1也可能检查清单文件是否正确 – jdehaan 2010-07-08 20:22:48

+0

BHO? 问题是我没有链接到32位库。如果你看看我张贴的图片的链接赢的东西连接到32位版本不正确...我同意我需要从sys32中删除它们,但这是作为最后的手段添加。我尝试了vs2008和msdn网站的版本 – grobartn 2010-07-08 20:50:54

+0

@grobartn:depends的图像没有显示'CPU'列,因此无法确定哪些项目是32或64. 另一件事是该depends.exe具有32位和64位版本,使用32位取决于64位exe/DLL会显示不正确的信息。 – 2010-07-08 21:22:06

0

我希望这会有所帮助:

我和Adobe Dreamweaver CS6有同样的问题。

解决方案:

  1. 检查软件包(文件夹从您安装的应用程序),它可以包含破解文件夹或文件夹的补丁与64位和32位破解/补丁的DLL文件。

注意:如果你没有这个文件夹,然后从任何dll网站下载。 (文件专门为Adobe Dreamweaver:amtlib.dll)

  1. 复制32位DLL文件的32位版本的应用程序或复制另一个64位(不是你的PC版本,它将是应用程序版本)。

3.粘贴安装该应用程序的文件夹中。

相关问题