zoukankan      html  css  js  c++  java
  • 解决应用程序无法正常启动0xcxxxxxxxxxx问题

    简述:使用VS2008写了一个MFC程序,结果传到别人的机子上(WIN7)出现应用程序正常初始化(0xc0150002)失败的问题。为什么我的机子上可以,而别人的机子上运行不了呢?下面是我找到的一个解决办法:

    1、在程序运行出错的时候,右键“我的电脑”,然后点击“管理”→“事件查看器”→“Windows 日志”→“应用程序”,查看错误信息:

    1> “E:IPCam_shareARP數據處理HgNetSdkDemoDebugDevMngrd.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:HgNetSdkDemoDebugHgDeviceFound.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文件夹

  • 相关阅读:
    【题解】P1999 高维正方体
    【题解】 P1850 [NOIP2016 提高组] 换教室(又是一道debug的DP,debug经验++)
    【题解】P1439 【模板】最长公共子序列
    【笔记】还是发上来作为学习过的记录吧,凌乱,勿进
    为什么我不会做数位DP
    【题解】HUD3652 B-number && 数位DP学习笔记
    【题解】LIS(longest increasing subsequence)最长上升子序列
    lingo重点部分快速上手
    koa2转移json文件地址
    Koa2创建项目
  • 原文地址:https://www.cnblogs.com/judes/p/9115742.html
Copyright © 2011-2022 走看看