1

我的应用程序是在具有清单 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 文件夹,我有 CRT 的 762 和 4053 版本。为什么应用程序使用 4053 而不是清单中使用的那个?

谢谢。

4

1 回答 1

1

因为重定向请求的 DLL 版本的“发布者策略”。你的清单不应该再要求 762 了,它有豆子。您需要将安全更新部署到您的计算机,以便更新 vc\include\crtassem.h。

于 2010-04-21T19:46:37.197 回答