应用程序正常初始化(0xc0150002)失败的终极解决方案

2023-05-25,,

转自VC错误:http://www.vcerror.com/?p=62

最近做一个项目写了一个VC6下的MFC程序,结果传到别人的机子上(WIN7)出现了应用程序正常初始化(0xc0150002)失败的问题,当时还以为就是WIN7的问题,后来把程序拷贝到一台WINXP
SP3的程序下还是不行。

为什么我的机子上可以,而别人的机子上运行不了呢?

开始google一下,找到了解决的一个办法——在程序运行出错的时候,右键“我的电脑”,然后点击“管理”,再点击“事件查看器",最后看下“系统”,信息如下:

)找不到附属汇编 Microsoft.VC80.DebugCRT,上一个错误是参照的汇编没有安装在系统上。

)Resolve Partial Assembly为
Microsoft.VC80.DebugCRT失败。参考错误消息:参照的汇编没有安装在系统上。

)Generate Activation Context为
C:/scanfile/Debug/libclamavd.dll失败。参考错误消息:操作成功完成。

可以判断是libclamavd加载的时候出了点问题了,看了下它的manifest文件,其依赖库是Microsoft.VC80.DebugCRT,这样问题就很明显了,这个dll是在VS2005下编译的,而别人的机子上没有这个环境,我们所编译生成的应用程序由于缺少必需的Debug版本的VC运行库而发生错误。

解决方法:

具体的解决方法参考文章:http://www.vcerror.com/?p=62

应用程序正常初始化(0xc0150002)失败的终极解决方案的相关教程结束。

《应用程序正常初始化(0xc0150002)失败的终极解决方案.doc》

下载本文的Word格式文档,以方便收藏与打印。