C++ 当我不使用MFC时,为什么会出现MFC运行时错误?

C++ 当我不使用MFC时,为什么会出现MFC运行时错误?,c++,windows,runtime-error,visual-studio-2005,citrix,C++,Windows,Runtime Error,Visual Studio 2005,Citrix,我正在尝试运行客户端虚拟驱动程序dll(本质上这不是一个驱动程序,而是用户模式代码)。此dll由Citrix客户端加载,该客户端具有CRT、MFC和MFCLOC的清单,所有这些清单都指向Visual Studio 2005 我把我的DLL链接到了Citrix客户端安装的清单文件中找到的C++运行时的精确版本。 现在,我的DLL是纯win32代码,没有MFC调用,但我得到“为MFC80.DLL生成激活上下文时出错” 味精 “C:\Program Files(x86)\Citrix\ICA Cli

我正在尝试运行客户端虚拟驱动程序dll(本质上这不是一个驱动程序,而是用户模式代码)。此dll由Citrix客户端加载,该客户端具有CRT、MFC和MFCLOC的清单,所有这些清单都指向Visual Studio 2005

<>我把我的DLL链接到了Citrix客户端安装的清单文件中找到的C++运行时的精确版本。 现在,我的DLL是纯win32代码,没有MFC调用,但我得到“为MFC80.DLL生成激活上下文时出错”


味精
“C:\Program Files(x86)\Citrix\ICA Client\MFC80.DLL”的激活上下文生成失败。清单或策略文件“C:\Program Files(x86)\Citrix\ICA Client\Microsoft.VC80.MFCLOC.manifest”第5行出现错误。在清单中找到的组件标识与请求的组件标识不匹配。参考文件是Microsoft.VC80.MFCLOC,processorArchitecture=“x86”,publicKeyToken=“1fc8b3b9a1e18e3b”,type=“win32”,version=“8.0.50608.0”。定义为Microsoft.VC80.MFCLOC,processorArchitecture=“x86”,publicKeyToken=“1fc8b3b9a1e18e3b”,type=“win32”,version=“8.0.50727.762”。请使用sxstrace.exe进行详细诊断。

1)安装sxstrace中列出的运行时,解决了问题。

那么,您是否“使用sxstrace.exe进行详细诊断”?在SxSTraceINFO中获得了相同的错误,但信息稍多:清单定义标识为Microsoft.VC80.MFCLOC,processorArchitecture=“x86”,publicKeyToken=“1FC8B3B9A118E3B”,type=“win32”,version=“8.0.50727.762”。错误:在清单中找到的组件标识与请求的组件标识不匹配。引用为Microsoft.VC80.MFCLOC,processorArchitecture=“x86”,publicKeyToken=“1FC8B3B9A118E3B”,type=“win32”,version=“8.0.50608.0”。定义为Microsoft.VC80.MFCLOC,processorArchitecture=”x86“,publicKeyToken=“1FC8B3B9A118E3B”,type=“win32”,version=“8.0.50727.762”。错误:激活上下文生成失败。根本原因是安装的版本比所需的版本旧。VC80对运行时进行了多次更新。