“应用程序无法正确初始化(0xc000007b)”。 [英] "The application failed to initialize properly (0xc000007b)."

查看:619
本文介绍了“应用程序无法正确初始化(0xc000007b)”。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试启动一个我在C ++中创建的程序时,我得到这个错误。它工作正常在我的其他计算机(XP SP3 32位),但不是在我的Windows 7 64位版本。
当我在程序上运行Dependency Walker时,它告诉我IESHIMS.dll缺失,但它在32位和64位版本的Internet Explorer文件夹中都有。

I get this error when i try to start a program that I've made in C++. It works fine on my other computer (XP SP3 32bit) but not on my windows 7 64 bit version. When I run Dependency Walker on the program, it tells me that IESHIMS.dll is missing, however it's there in the Internet Explorer folder of both 32 and 64 bit version..

任何人都可以帮我解决这个问题?

Can anyone help me with this?

推荐答案

错误代码是STATUS_INVALID_IMAGE_FORMAT, em>未设计为在Windows上运行或包含错误,请尝试使用原始安装介质重新安装程序,或与系统管理员或软件供应商联系以获取支持。

The error code is STATUS_INVALID_IMAGE_FORMAT, "Mumble is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support."

这对64位版本的Windows来说有点过时,90%的可能性是你的32位程序试图加载64位DLL。 Windows有很多,以防止从未发生过。文件系统虚拟化确保从c:\windows \system32加载的DLL重定向到32位DLL的home:c:\windows \syswow64。注册表虚拟化确保COM服务器与COM客户端的位元相匹配。

Which is a bit outdated perhaps for the 64-bit version of Windows, the 90% odds are that your 32-bit program is trying to load a 64-bit DLL. There's a lot that Windows does to prevent that from ever happening. File system virtualization ensures that DLL loads from c:\windows\system32 are redirected to c:\windows\syswow64, home of the 32-bit DLLs. Registry virtualization ensures that COM servers are matched with the bit-ness of the COM client.

有些事情可以绕过这些防范措施。也许你使用SetDllDirectory()。或者将DLL复制到与EXE相同的文件夹。或者你希望系统的PATH环境变量帮助你的程序找到正确的DLL。有些事情,这是不是从你的问题中不明确。应该有一个在Windows事件日志中的记录(不是100%确定)。如果所有其他失败,SysInternals的ProcMon实用程序可以显示它正在尝试加载什么文件。

There's something you do that bypasses these counter-measures. Maybe you used SetDllDirectory(). Or you copied DLLs to the same folder as your EXE. Or you are hoping that the system's PATH environment variable helps your program find the right DLL. Something like that, it isn't otherwise clear from your question. There ought to be a record of it in the Windows event log (not 100% sure). If all else fails, SysInternals' ProcMon utility can show you what file it is trying to load.

这篇关于“应用程序无法正确初始化(0xc000007b)”。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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