无法注册 msvcr80.dll:An application has made an attempt to load the C runtime library incorrectly
2007-01-16 16:51
603 查看
今天用VC2005写了个Activex,测试部署到其他机器由于目标机器缺少msvcr80.dll和mfc80u.dll,可定是无法运行,然后就想手动注册安装msvcr80.dll和mfc80u.dll,结果两个都弹出一样的错误信息: 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
看来,还是用回VC6,省事一点
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
看来,还是用回VC6,省事一点
![](http://www.cnblogs.com/Emoticons/QQ/06.gif)
相关文章推荐
- An application has made an attempt to load the C runtime library incorrectly.
- r6034 an application has attempt to load the c runtion library incorrectly
- .....an attempt to load the C runtime library without using a manifest.....
- This application has requested the Runtime to terminate it in an unusual way
- 图像识别工程师 VS The application has requested the Runtime to terminate it in an unusual way.
- This application has requested the Runtime to terminate it in an unusual way.
- this application has requested the runtime to terminate it in an unusual way
- 错误信息:This application has requested the Runtime to terminate it in an ...
- 在windows直接运行Qt编译出来的可执行程序出现了如下提示错误: this application has requested the runtime to terminate it an unu
- An attempt was made to load a program with an incorrect format” even when the platforms are the same
- This application has requested the Runtime to terminate it in an unusual way. Please contact the app
- 关于C++程序运行程序是出现的this application has requested the runtime to terminate it in an unusual way. 异常分析
- The call to LoadLibrary(YourExtensionName) failed, Win32 error 0n14001, “This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.”
- eclipse怎么解决Failed to load the JNIshared library、an error has occurred.see the log file
- win8安装 Matlab,运行出现 this application has requested the runtime to terminate it in an unusual way .
- This application has requested the Runtime to terminate it in an unusual way
- This application has requested the Runtime to terminate it in an unusual way.
- win8安装 Matlab,运行出现 this application has requested the runtime to terminate it in an unusual way
- This application has requested the Runtime to terminate it in an unusual way
- This application has requested the Runtime to terminate it in an unusual way