应用程序无法正常启动0xc0150002 解决方式
2017-06-12 17:08
323 查看
我也遇到过此问题。解决的方法:
方案一: 在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“否”。此方法阻断了问题产生的源头,其每次生成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),复制到别人机子上的project可运行文件文件夹下。问题就攻克了。
从这个问题能够发现几点:
(1)善用工具能够帮助定位问题:事件查看器,depends walker等
(2)搜索效率,比方这个问题直接搜 ”应用程序正常初始化失败 0xc0150002“肯定会得到非常多噪音信息。。
。
PS:网上的解决的方法还有就是说下载vcredist_x86,我试了下不大好使。。
。
方案一: 在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“否”。此方法阻断了问题产生的源头,其每次生成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),复制到别人机子上的project可运行文件文件夹下。问题就攻克了。
从这个问题能够发现几点:
(1)善用工具能够帮助定位问题:事件查看器,depends walker等
(2)搜索效率,比方这个问题直接搜 ”应用程序正常初始化失败 0xc0150002“肯定会得到非常多噪音信息。。
。
PS:网上的解决的方法还有就是说下载vcredist_x86,我试了下不大好使。。
。
相关文章推荐
- 应用程序无法正常启动0xc0150002 解决方式
- 应用程序无法正常启动0xc0150002 解决方式
- 应用程序无法正常启动0xc0150002 解决方式
- 应用程序无法正常启动0xc0150002 解决方式
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- C++应用程序出现 0xc0150002 错误导致无法启动跟踪解决
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动提示错误0xc000007b 问题的原因和解决方法
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动0xc0150002 解决方案
- 应用程序无法正常启动提示错误0xc000007b 问题的原因和解决方法
- 应用程序无法正常启动0xc0150002 解决方案
- 解决 应用程序无法正常启动(0xc0000142)。请单击‘确认’关闭应用程序” 的办法
- 解决Win7 64bit + VS2010 使用opencv时出现提“应用程序无法正常启动(0xc000007b)”错误
- 应用程序无法正常启动 0xc000007b (包括win7 64位)的解决方法
- 当程序用ado的jet4.0方式连接的时候,对于设有access数据库密码的mdb的访问居然报错“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”,而用odbc方式不报错,小阴沟里翻船,郁闷中然后查文档解决之
- 解决Win7 64bit + VS2010 使用opencv时出现提“应用程序无法正常启动(0xc000007b)”错误