ATL 安全更新破坏了 DLL 的兼容性,具体取决于旧版本
最近的 ATL 安全更新将 C++ 运行时更新为版本 8.0.50727.4053 。 不幸的是,此更新破坏了动态链接到运行时的 DLL 之一,因为我们在目标计算机上只有 8.0.50727.762 可用(我们甚至不使用 ATL)。
有没有办法让 Visual Studio 动态链接到旧的 DLL? 如果可能的话,我想避免静态链接。
The recent ATL security update updated the C++ runtimes to version 8.0.50727.4053. Unfortunately, this update broke one of our DLLs that dynamically links to the runtime, as we only have 8.0.50727.762 available to us on the target machine (we don't even use ATL).
Is there a way we can get Visual Studio to dynamically link to the older DLL? I'd like to avoid statically linking if possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
另一种解决方案是强制 VS 链接旧版本的 WinSxS DLL,如 这篇文章。
Another solution is forcing VS to link against the old versions of the WinSxS DLLs as explained in this article.
将必需的 DLL 版本直接复制到可执行文件的目录中,在动态链接期间首先搜索它。
Copy the requisite DLL versions directly into your executable's directory, it is searched first during dynamic linking.
我不知道这是否可行,但您是否尝试过让您的客户安装 可再发行包?
I don't know if this is feasible but have you tried having your customers install the redistributable package?