应用程序正常初始化(0xc015002)失败解决方法
转载
VS2005 sidebyside manifest error Microsoft.VC80.MFC Microsoft.VC80.CRT Microsoft.VC80.MFCLOC msvcr80.dll mfc80.dll eventlog
VC2005 编译出来的程序文件,採用了manifest方式来指定dll文件。对于win98、win2000系统,把exe文件和VC的 dll连接库放到一起就 成了。对于winxp、win2003系统就要麻烦的多了,VC的连接库默认是被放到了winsxs文件夹下,结果造成在这些系统上,直接拷贝exe文件, 往往是不能执行(找不到msvcr80.dll、mfc80.dll文件等),或者在事件日志中报错。
解决方案:
方式一、在目标系统上安装2005版vcredist_x86.exe。
方式二、直接拷贝VS8文件夹下的VC / redist / x86 / 文件夹下的 Microsoft.VC80.MFC、Microsoft.VC80.CRT、Microsoft.VC80.MFCLOC几个文件夹,到exe所在的文件夹下,文件夹结构例如以下:
./myapp.exe
./myapp.dll
./Microsoft.VC80.CRT/
./Microsoft.VC80.MFC/
./Microsoft.VC80.MFC/Microsoft.VC80.MFCLOC/
然后改动Microsoft.VC80.MFCLOC文件夹下的Microsoft.VC80.MFCLOC.manifest文件,将当中的version=“8.0.50727.42“,改动为version=“8.0.50608.0“。
方式二的文件夹结构,在xp和2003下是没有问题的,可是在win98/win2000中,由于exe和dll不在同一文件夹下,就会出现找不到dll的问题。
有什么更好的解决呢?呵呵,国外的一个大牛(http://blog.kalmbachnet.de)找到一绝招:
方式三、
1、首先编译myapp.exe的时候,在配置中,选择生成单独的manifest文件,如:myapp.exe.manifest。
2、将myapp.exe、myapp.exe.manifest复制到一个文件夹下
3、将Microsoft.VC80.MFC、Microsoft.VC80.CRT、Microsoft.VC80.MFCLOC几个文件夹下的文件,都复制到myapp.exe所在的文件夹下。
4、将Microsoft.VC80.MFCLOC.manifest文件里的version=“8.0.50727.42“,改动为version=“8.0.50608.0“。
5、编辑myapp.exe文件夹下的全部 .manifest文件,将文件里的publicKey键值删除,通常是publicKeyToken=“1fc8b3b9a1e18e3b“
6、然后执行myapp.exe看看。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java构造方法中怎么对字段初始化
java构造方法中怎么对字段初始化
构造方法 字段 初始化 -
应用程序正常初始化(0xc0000135
我扫描135得时候出现 应用程序正常初始化(0xc0000135)失败。请单击“确定”,终止应用程序. 求助! 一般是由
初始化 应用程序 休闲 正常 0xc0000135 -
应用程序无法正常启动0xc000007b解决方法
一 问题1 应用程序无法正常启动0xc000007b解决方法2 无法启动此程序,因为计算机中丢失MSVCR110.dll的解决方法 大致介绍一下这个错误是如何发生的。这个错误的本意是提示内存错误,但是通常情况下并不是内存存在问题,而是由于软件的问题产生了这个错误,多数情况下是DirectX 9.0的问题。二 解决办法1 方法:使用Dire
DirectX 应用程序无法正常启动0xc000007b 无法启动此程序 因为计算机中丢失MSVCR110.dll -
应用程序无法正常启动解决方法
0xc000007b 0xc015000 0xc000012d 应用程序 无法 正常启动
0xc000007b 0xc015000 0xc000012d