应用程序正常初始化(0xc015002)失败解决方法

本文针对VS2005编译程序在不同Windows系统上遇到的DLL缺失问题,提供了三种解决方法,包括安装vcredist_x86.exe、手动复制相关文件夹以及通过配置manifest文件解决跨系统兼容性问题。
摘要由CSDN通过智能技术生成

http://blog.csdn.net/xiaosu123/article/details/5565942

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


另外加上:msvcp100d.dll和msvcp100d.dll  (vs2010)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值