解决应用程序无法正常启动0xcxxxxxxxxxx问题
简述:使用VS2008写了一个MFC程序,结果传到别人的机子上(WIN7)出现应用程序正常初始化(0xc0150002)失败的问题。为什么我的机子上可以,而别人的机子上运行不了呢?下面是我找到的一个解决办法:
1、在程序运行出错的时候,右键“我的电脑”,然后点击“管理”→“事件查看器”→“Windows 日志”→“应用程序”,查看错误信息:
1> “E:\IPCam_share\ARP\數據處理\HgNetSdkDemo\Debug\DevMngrd.dll”的激活上下文生成失败。 找不到从属程序集Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",
type="win32",version="9.0.21022.8"。请使用 sxstrace.exe 进行详细诊断。
可以判断是DevMngrd.dll等库文件加载的时候出现了问题,看了下它的manifest文件,其依赖库是Microsoft.VC90.DebugCRT,这样问题就很明显了,这个dll是在VS2008下编译的,而别人的机子没有这个环境,我们所编译生成的应用程序由于缺少必需的Debug版本的VC运行库而发生错误。
2> “E:\HgNetSdkDemo\Debug\HgDeviceFound.dll”的激活上下文生成失败。 找不到从属程序集Microsoft.VC90.DebugMFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",
type="win32",version="9.0.21022.8"。 请使用 sxstrace.exe 进行详细诊断。
可以判断是HgDeviceFound.dll等库文件加载的时候出现了问题,看了下它的manifest文件,其依赖库是Microsoft.VC90.DebugMFC
2、解决方法是:拷贝相应的VC库文件
1> 到自己机子上VS2008的安装目录下,把3个dll文件(msvcm90d.dll,msvcp90d.dll,msvcr90d.dll)和一个manifest文件(Microsoft.VC90.DebugCRT.manifest),拷贝到别人机子上的工程可执行目录下。
2> 到自己机子上VS2008的安装目录下,把4个dll文件(mfc90d.dll,mfc90ud.dll,mfcm90d.dll,mfcm90ud.dll)和一个manifest文件(Microsoft.VC90.DebugMFC.manifest),拷贝到别人机子上的工程可执行目录下,然后问题就解决了
另:如果是VS2005 ,则为xxx.VC80.XXX文件夹
最新文章
- 《UML大战需求分析阅读笔记》05
- Java新集合示意图
- 关于激活Bentley软件详细步骤介绍(再补充一个)
- 《Thinking in Java》十七章_容器深入研究_练习12(Page484)
- Oracle 游标使用全解(转)
- android之AlertDialog 点击其它区域自己主动消失
- Win2003_IIS+PHP+MYSQL 全能服务器配置
- PHP基础17:日期
- asp开发微信扫码支付
- vijos 1426
- MyBatis Mapper 文件例子
- 如何安装SQL Server 2008数据库(带完整图解)
- 回首Java(始)
- -canOpenURL: failed for URL
- HTML豆ちしき
- 使用JavaScript检测浏览器
- Spring初始化ApplicationContext为null
- sql中检查时间是否重叠
- Gson反序列化Map,整型自动转换为浮点型
- Git简明教程一、基本概念
热门文章
- c++11实现l延迟调用(惰性求值)
- 在fedora 18中将普通用户设置为sudo权限
- with操作符损耗性能的原因
- 【Android】Scrollview 相关问题汇总
- nginx proxy模块
- 网络流SAP+gap+弧优化算法
- poj1722 SUBTRACT【线性DP】
- CH5E02 花店橱窗【线性DP】
- 信息收集1:DNSEUM命令
- .m2\repository\org\springframework\spring-beans\4.1.4.RELEASE\spring-beans-4.1.4.RELEASE.jar!\org\springframework\beans\factory\xml\spring-beans-4.1.xsd