解决应用程序无法正常启动0xc0150002问题
2017-01-12 10:05
441 查看
简述:使用VS2008写了一个MFC程序,结果传到别人的机子上(WIN7)出现应用程序正常初始化(0xc0150002)失败的问题。为什么我的机子上可以,而别人的机子上运行不了呢?下面是我找到的一个解决办法:
![](http://img.blog.csdn.net/20170112094622739)
1、在程序运行出错的时候,右键“我的电脑”,然后点击“管理”→“事件查看器”→“Windows 日志”→“应用程序”,查看错误信息:
![](http://img.blog.csdn.net/20170112092832973)
![](http://img.blog.csdn.net/20170112110817950)
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运行库而发生错误。
![](http://img.blog.csdn.net/20170112110431915)
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),拷贝到别人机子上的工程可执行目录下。
![](http://img.blog.csdn.net/20170112100014761)
2> 到自己机子上VS2008的安装目录下,把4个dll文件(mfc90d.dll,mfc90ud.dll,mfcm90d.dll,mfcm90ud.dll)和一个manifest文件(Microsoft.VC90.DebugMFC.manifest),拷贝到别人机子上的工程可执行目录下,然后问题就解决了
![](http://img.blog.csdn.net/20170112105630490)
另:如果是VS2005 ,则为xxx.VC80.XXX文件夹
3、发现问题时应如何做
1> 善用工具可以帮助定位问题:事件查看器,depends walker等
2> 网上搜索解决办法
3> 启动程序或注册文件时最好以管理员身份启动或注册
4> 安装包文件夹权限是否受限
5> 杀毒软件/防火墙是否禁掉
各位游客,觉得对你有帮助的就顶一下,欢迎指出错误,谢谢
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文件夹
3、发现问题时应如何做
1> 善用工具可以帮助定位问题:事件查看器,depends walker等
2> 网上搜索解决办法
3> 启动程序或注册文件时最好以管理员身份启动或注册
4> 安装包文件夹权限是否受限
5> 杀毒软件/防火墙是否禁掉
各位游客,觉得对你有帮助的就顶一下,欢迎指出错误,谢谢
相关文章推荐
- 解决仙剑奇侠传“应用程序无法正常启动(0xc000000d)”的问题【转载】
- C++6.0(应用程序无法正常启动0xc0000142) 关于win10周年版更新后无法正常使用vc6.0问题的解决方法
- (应用程序无法正常启动0xc0000142) 关于win10周年版更新后无法正常使用vc6.0问题的解决方法
- vs2010应用程序无法正常启动(0xc0150002)解决办法
- 如何解决MindManager应用程序无法正常启动问题
- (应用程序无法正常启动0xc0000142) 关于win10周年版更新后无法正常使用vc6.0问题的解决方法
- 应用程序无法正常启动(0xc000007b) 问题解决
- 应用程序无法正常启动提示错误0xc000007b 问题的原因和解决方法
- 应用程序无法正常启动(0xc0150002). [解决方法]
- 关于应用程序无法正常启动(0xc000007b)问题的解决办法
- (应用程序无法正常启动0xc0000142) 关于win10周年版更新后无法正常使用vc6.0问题的解决方法
- OpenCV配置后debug出现问题(应用程序无法正常启动)的解决方法!!!
- “应用程序无法正常启动0xc0150002” 问题分析步骤及解决方案
- 应用程序无法正常启动0xc0150002怎么解决.
- 应用程序无法正常启动0xc0000142) 关于win10周年版更新后无法正常使用vc6.0问题的解决方法
- 【opencv】应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。问题解决方法
- Windows下游戏程序使用32位的dll文件-解决“应用程序无法正常启动0xc000007b”问题
- wamp3.0 或者其他版本解决“应用程序无法正常启动0xc000007b”等问题
- 应用程序无法正常启动提示错误0xc000007b 问题的原因和解决方法
- OpenCV 64位时 应用程序无法正常启动0x000007b 问题解决