无法注册 msvcr80.dll:

今天用VC2005写了个Activex,测试部署到其他机器由于目标机器缺少msvcr80.dll和mfc80u.dll,可定是无法运行,然后就想手动注册安装msvcr80.dll和mfc80u.dll,结果两个都弹出一样的错误信息:

baidu 了一下,终于找到一个同样错误网友:http://bbs.pediy.com/showthread.php?threadid=27494
不过,也是从一个德国的牛人解释:
http://blog.kalmbachnet.de/

Using the VC 
2005  shared CRT/MFC (DLL) without a manifest is not supported!
If you build your app with VC2005 and you accidently have disabled the embedding of the manifest file (or deleted the separate appname.exe.manifest file)
,  you will get an error on XP and later!

This has to do with the checking for a valid manifest of the EXE inside the CRT/MFC DLLs “DllEntry” (via a call to _check_manifest). If the OS supports manifests (or better Side-By-Side assemblies/DLLs) the CRTs´ DLL forces the check of the EXEs´ manifest. If there is no (valid) manifest
,  then the DLL refuses to load (returns  0 ) and therefor the EXE cannot be started. It might display the following error message (or similar):
R6034
An application has made an attempt to load the C runtime library incorrectly.
Please contact the application’s support team for more information.

But in the following cases the manifest checking inside the CRT-DLL is not done:

Pre-fusion OS (FindActCtxSectionStringW not found in kernel32.dll)
Loaded by instrumented-mscoree.dll (mscoree.dll and pgort80.dll is already loaded)
The path returned with GetModuleFileNameW of the DLL is longer than 
8000  characters
The path to the DLL
,  returned by GetLongPathName is longer than  8000  characters 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值