应用程序无法正常启动0xc0150002 解决方案
来源:互联网 发布:java interface 修饰符 编辑:程序博客网 时间:2024/05/30 04:20
我也遇到过此问题,解决办法:
方案一: 在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“否”。此方法阻断了问题产生的源头,其每次生成exe文件时都直接嵌入清单文件,而不是默认的根据时戳而决定是否更新清单文件。
方案二:不嵌入清单文件。在项目的“属性|配置属性|清单工具|输入和输出”中的“嵌入清单”选择“否”,从而在生成exe文件时附随生成一个清单文件(默认情况下,其文件名为exe文件的全名加上“.manifest”),避免了嵌入清单文件可能失败的问题。
,谢谢!
最近做一个项目写了一个VC6下的MFC程序,结果传到别人的机子上(WIN7)出现了应用程序正常初始化(0xc0150002)失败的问题,当时还以为就是WIN7的问题,后来把程序拷贝到一台WINXP SP3的程序下还是不行。
为什么我的机子上可以,而别人的机子上运行不了呢?
开始google一下,找到了解决的一个办法——在程序运行出错的时候,右键“我的电脑”,然后点击“管理”,再点击“事件查看器",最后看下“系统”,信息如下:
(1)找不到附属汇编 Microsoft.VC80.DebugCRT,上一个错误是 参照的汇编没有安装在系统上。
(2)Resolve Partial Assembly 为 Microsoft.VC80.DebugCRT 失败。 参考错误消息: 参照的汇编没有安装在系统上。
(3)Generate Activation Context 为 C:/scanfile/Debug/libclamavd.dll 失败。 参考错误消息: 操作成功完成。
可以判断是libclamavd加载的时候出了点问题了,看了下它的manifest文件,其依赖库是Microsoft.VC80.DebugCRT ,这样问题就很明显了,这个dll是在VS2005下编译的,而别人的机子上没有这个环境,我们所编译生成的应用程序由于缺少必需的Debug版本的VC运行库而发生错误。
解决方法:到我的机子上的vs2005的安装目录下,搜索名字中包含串Microsoft.VC80.DebugCRT的文件,共有3个dll文件(msvcm80d.dll,msvcp80d.dll,msvcr80d.dll)和一个manifest文件(Microsoft.VC80.DebugCRT.manifest),拷贝到别人机子上的工程可执行文件目录下,问题就解决了。
从这个问题可以发现几点:
(1)善用工具可以帮助定位问题:事件查看器,depends walker等
(2)搜索效率,比如这个问题直接搜 ”应用程序正常初始化失败 0xc0150002“肯定会得到很多噪音信息。。。
PS:网上的解决办法还有就是说下载vcredist_x86,我试了下不大好使。。。
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002解决方案
- 应用程序无法正常启动(0xc0150002)!
- 应用程序无法正常启动(0xc0150002)
- 应用程序无法正常启动(0xc0150002). [解决方法]
- 应用程序无法正常启动(0xc0150002)
- vs2012 应用程序无法正常启动 (0xc0150002)
- 应用程序无法正常启动0xc0150002
- 应用程序无法正常启动(0xc0150002)
- “应用程序无法正常启动0xc0150002” 问题分析步骤及解决方案
- oracle 创建表和插入的相关注意事项
- clean .svn
- 第四周实验报告(2)
- 第四周实验报告(3)
- healthy eating habit
- 应用程序无法正常启动0xc0150002 解决方案
- 第四周实验报告(4)
- JAVA中文字符编码问题详解
- Resin构建/运行/IDE支持
- 设计模式——单例模式
- 对实验任务有关无法上传的声明
- 第五周作业1
- racle的STRUCT和VARRAY的读写方法
- 《那些年啊,那些事——一个程序员的奋斗史》——82