C++ 从VS2008运行可执行文件时崩溃,错误为“0”;应用程序无法正确启动(0x000007b)";x64

C++ 从VS2008运行可执行文件时崩溃,错误为“0”;应用程序无法正确启动(0x000007b)";x64,c++,visual-studio-2008,64-bit,windows-7-x64,C++,Visual Studio 2008,64 Bit,Windows 7 X64,调试/发布中都存在此错误 所以最初的问题是它有32位的库,我没有链接到它的64版本。 (此问题的上一版本) 我修好了 应用程序在Windows Server标准2008R2 x64上运行 我尝试在Windows Server Enterprise上运行应用程序,但收到上面提到的错误消息(标题) Dependency walker说“找到了具有不同CPU类型的模块”,出于某种原因,它似乎没有正确地链接到32位库,但这是来自mshtml.dll(win-lib)的内容,它链接到winsxs\x86。

调试/发布中都存在此错误

所以最初的问题是它有32位的库,我没有链接到它的64版本。 (此问题的上一版本) 我修好了

应用程序在Windows Server标准2008R2 x64上运行

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

Dependency walker说“找到了具有不同CPU类型的模块”,出于某种原因,它似乎没有正确地链接到32位库,但这是来自mshtml.dll(win-lib)的内容,它链接到winsxs\x86。。文件夹到COMCTL32.dll,但该库位于System32文件夹(正确的文件夹)中,因此不确定它为什么链接到此文件夹

有什么想法吗

<>我尝试重新安装VisualC++ +可重新分发但没有帮助。 哪一个-是安装和修补的VC编译器附带的,还是从网上下载的?您安装了32位redist还是64位redist?它们是单独安装的,即64位redist不包括32位redist文件

找到了具有不同CPU类型的模块

是的,您必须匹配CPU类型,全部32位或全部64位

鉴于IESHIMS给人的印象是使用浏览器插件

  • 如果你制作了一个浏览器助手对象(BHO-IE插件/扩展),那么你需要分别注册32位和64位,但是如果你连接到IE作为一个外部服务器,那么你只需要确保你有合适的一个来匹配你的应用程序的其余部分
  • 如果您正在制作FF插件,请不要忘记将mozilla目录添加到Dependes的搜索路径中,并且当您进行更改时,请不要忘记您必须重置firefox插件缓存,以尝试再次加载插件(更改文件夹名称,启动FF,然后重新更改名称)
%ProgramFiles%/Internet Explorer到System32

这就是64位ie dll,到???/System32

我建议删除您添加到system32中的任何dll,这样会导致dll地狱。

我希望这将有助于:

我对Adobe Dreamweaver CS6也有同样的问题

解决方案:

  • 检查您的软件包(安装应用程序的文件夹),它可能包括带有64位和32位破解/修补DLL文件的破解文件夹或修补文件夹
  • 注意:如果您没有此文件夹,请从任何dll网站下载。(专门用于adobe dream weaver的文件:amtlib.dll)

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

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

    BHO?问题是我没有链接到32位库。若你们看我贴的图片链接,Win stuff错误地连接到32位版本。。。我同意我需要从sys32中删除它们,但这是作为最后手段添加的。我尝试了vs2008附带的和msdn web上的两款site@grobartn:的图像不显示“CPU”列,因此无法区分哪些项目是32或64。另一件事是Dependes.exe有32位和64位版本,使用32位Dependes-64位exe/dll将显示不正确的信息。我使用的是64位版本,而32位版本是COMCTL32.dll,它指向包含它的目录并以winsxs\x86开头。。。这清楚地表明它是32位的…这是我不理解的部分,因为64位版本的COMCTL32.dll就在system32中,它从那个文件夹中找到了剩余的libs,为什么要在完全不同的文件夹中找到它…这不是web应用程序,它有一小部分处理web服务,而是它的命令行应用程序