博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
应用程序正常初始化(0xc015002)失败解决方法
阅读量:6615 次
发布时间:2019-06-24

本文共 1255 字,大约阅读时间需要 4 分钟。

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看看。

转载地址:http://hmhso.baihongyu.com/

你可能感兴趣的文章
HAProxy负载均衡web服务
查看>>
chkconfig命令
查看>>
mysql修改替换某个字段的某些值
查看>>
初学者学习Linux之NFS
查看>>
服务搭建基础篇 dhcp服务
查看>>
救援模式
查看>>
SyilxOS块设备CACHE管理
查看>>
golang build error: syntax error: nested func not allowed
查看>>
linux系统编辑神器 -vim用法大全
查看>>
Django 之 Linux上安装运行
查看>>
XML基础--DOM4J解析
查看>>
程序员职业发展技术要深度还是广度
查看>>
基于LNMP搭建一个小米的电子商务平台
查看>>
记一次U盘热插拔导致的问题
查看>>
Rabbitmq学习(一) Rabbitmq初探
查看>>
9.1-9.7 正则三剑客:grep、sed、awk
查看>>
JavaScript正则表达式(JavaScript:The Definitive Guide笔记)
查看>>
CSDN博客开通啦!
查看>>
自定义BeanUtils的赋值和获取方法实现.
查看>>
Docker加速器配置
查看>>