当清单使用762时,C ++应用程序是否可能使用CRT 4053?

时间:2010-04-21 19:22:04

标签: c++ windows winsxs

我的应用程序是在带有清单762的开发PC上编译的:       

但是在运行时,在另一台PC上,应用程序使用该文件的4053版本。 C:\ WINDOWS \ WINSXS \ x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989 \ MSVCR80.DLL

在执行我的应用程序的某个地方,我收到指向msvcr80.dll的运行时错误。我怀疑问题可能是由于应用程序在运行时使用DLL而在构建期间未使用的。

如果我检查发行版PC的WinSxS文件夹,我同时拥有762和4053版本的CRT。为什么应用程序使用4053而不是清单中使用的那个?

感谢。

1 个答案:

答案 0 :(得分:1)

由于“发布商政策”重定向了所请求的DLL版本。你的清单不应再要求762,它有傻瓜。您需要将security update部署到您的计算机上,以便更新vc \ include \ crtassem.h。