从 VS2008 运行可执行文件崩溃并出现错误“应用程序无法正确启动 (0x000007b)";x64 [英] Running executable from VS2008 crashes with error "Application was unable to start correctly (0x000007b)" x64

查看:26
本文介绍了从 VS2008 运行可执行文件崩溃并出现错误“应用程序无法正确启动 (0x000007b)";x64的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此错误存在于调试/发布中.

This error is present in both Debug/Release.

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

So the original problem was that it had 32 bit library that I did not link to 64 version of it. (Previous version of this question) I fixed that.

并且应用程序适用于 Windows Server Standard 2008R2 x64.

And application works on Windows Server Standard 2008R2 x64.

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

I tried running application on Windows Server Enterprise but got above (title) mentioned error message.

Dependency walker 说找到了具有不同 CPU 类型的模块",出于某种原因,它似乎错误地链接到 32 位库,但那是来自 mshtml.dll (win lib) 的东西,它链接到 winsxsx86.. 文件夹到 COMCTL32.dll,但该库在 System32 文件夹中(正确的一个)所以不知道为什么它链接到这个

Dependency walker says "Modules with different CPU types were found" and for some reason it seems its linking incorrectly to 32 bit library, but thats something that comes from mshtml.dll (win lib) and it links to winsxsx86.. folder to COMCTL32.dll, but that lib is in System32 folder (correct one ) so not sure why is it linking to this one

有什么想法吗???

推荐答案

我尝试重新安装 Visual C++ 可再发行组件,但没有帮助.

I tried re-installing Visual C++ redistributable but no help.

哪一个 - 随您安装和打补丁的 VC 编译器一起提供的,还是您从网上下载的?您安装的是 32 位 redist 还是 64 位 - 它们是单独安装的,即 64 位 redist 不包含 32 位 redist 文件.

Which one - the one that came with your installed and patched VC compiler, or did you download it from the net? Did you install the 32 bit redist or the 64 bit - they are seperate installs, ie 64 bit redist doesn't include 32 bit redist files.

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

Modules with different CPU types were found

是的,你必须匹配 CPU 类型,全 32 位或全 64 位.

yes, you have to match the CPU type, all 32 bit or all 64 bit.

鉴于 IESHIMS 给人的印象是在浏览器插件上工作

Given the IESHIMS gives the impression working on a browser plugin

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

%ProgramFiles%/Internet Explorer 到 System32.

%ProgramFiles%/Internet Explorer to System32.

所以这将是 64 位 ie dll,到 ??/System32

So that would be the 64bit ie dll, to the ??/System32

我建议删除您添加到 system32 的任何 dll,否则会导致 dll 地狱.

I'd recommend removing any of the dlls you have added to system32, that way leads to dll hell.

这篇关于从 VS2008 运行可执行文件崩溃并出现错误“应用程序无法正确启动 (0x000007b)";x64的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆