in Programming

Windows 应用不能正常启动 (The application was unable to start correctly (0xc000007b))

小结

最近碰到了Windows应用不能正常启动 (The application was unable to start correctly (0xc000007b))的问题,进行了解决。

问题及解决

点击应用后,应用直接不能启动,返回(The application was unable to start correctly (0xc000007b))的对话框。

这里的主要原因是因为应用使用的DLL的版本不对,如下:

  • If a 32-bit app tried to load a 64-bit DLL.
  • Or if a 64-bit app tried to load a 32-bit DLL.
  • Or if a 64-bit app tried to run on a 32-bit Windows.

实际是DLL的32-bit和6-4bit版本不对,
– 尝试使用32-bit应用加载64-bit的DLL
– 或者是使用64-bit应用加载32-bit的DLL
– 或者是在32-bit Windows操作系统中打开64-bit应用。

这里涉及到这几个DLL: msvcp140d.dll,ucrtbased.dll,vcruntime140d.dll,都是debug版本,需要将32-bit DLLs放在’/Windows/SysWOW64′ 目录下,将64-bit DLLs 放在 ‘/Windows/System32’ 目录中,如果不行,再反过来放一次。

参考

Stackoverflow: The application was unable to start correctly (0xc000007b)

Write a Comment

Comment