在 Windows 7 嵌入式标准上安装 MSVC 可再发行组件

Posted

技术标签:

【中文标题】在 Windows 7 嵌入式标准上安装 MSVC 可再发行组件【英文标题】:Installing MSVC redistributables on Windows 7 embedded standard 【发布时间】:2019-10-18 12:38:41 【问题描述】:

我已经构建了一个 DLL,它将在运行 Windows 7 嵌入式标准的机器上使用。 现在我正在尝试集成它,它抱怨缺少MSVCP140.dll

没什么大不了的,我只需要安装可再发行组件。但是,要安装 vcredist_x86 软件包,您需要拥有通用 CRT (update 2999226)

由于某种原因,Windows 7 嵌入式版本不允许安装更新。 如果没有此更新,我将无法安装可再发行组件,否则我将无法运行我的项目。

有谁知道如何让可再发行组件(2015 或更高版本)在 Windows 7 嵌入式标准 (x86) 上运行?

【问题讨论】:

你的 VS 版本比你的 Win 版本领先太多了,麻烦。您可以从 C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs 获取所需的文件,但不确定每个程序员都有。 @HansPassant 非常感谢!这似乎确实有效!我仍在寻找一个“更清洁”的解决方案,我想这样它就可以被其他人可靠地部署,但是当我正在开发这将有助于一吨:) 这里social.msdn.microsoft.com/Forums/sqlserver/en-US/… 最底层的 cmets 声明其作者以某种方式设法在 Windows 7 Embedded x64 上安装了 KB2999226 @Renat 谢谢,我也找到了那个帖子。不幸的是,我无法手动应用 upate,因为它给出了一条错误消息 (i.imgur.com/olHJ4iX.png)(是的,我正在以该帖子的作者身份运行 sp1 :)) 【参考方案1】:

我注意到像 OpenJDK 这样的一些程序捆绑了这些 DLL,所以我想出了这个风险很大但可能有效的解决方案:尝试下载那些丢失的 DLL,然后重试。切记不要混合使用 32 位和 64 位。

您也可以尝试在安装 MSVC 2015 之前手动下载新的通用 CRT 的 DLL。

【讨论】:

【参考方案2】:

根据this,MSVCP140.dllVisual Studio C++ 2012 Redistributable Update 4 或更高版本提供。 所以对于MSVCP140.dll,只有你可能不需要(2015 年或更高版本)。 尝试使用该早期版本。

据我了解,VCRedist 2012 与 MSVCR120.dll 相关联,甚至还有另一个版本(VCredist 2013 与 MSVCR130.dll),因此链接的手册会出错,即使是 Cisco ......但它值得一试。

注意:从技术上讲,我不是在回答“有人知道如何让可再发行组件(2015 或更高版本)在 Windows 7 嵌入式标准 (x86) 上运行吗?”,但它可能会为您的问题提供解决方案,并重新措辞你真正想回答的问题。

【讨论】:

以上是关于在 Windows 7 嵌入式标准上安装 MSVC 可再发行组件的主要内容,如果未能解决你的问题,请参考以下文章

Qt c++ 应用程序中的 Python 解释器 - numpy MSVC 调试

使用 MSVC2015 在 Windows 上进行 clang-tidy

使用 ISO 映像在 Windows x64 上安装 msvc 2012 express 失败,附加日志安装

在 Windows 8 上的 Creator 中编译将在 Windows 7 上运行的 Qt 5 应用程序?

在 MSVC10 上使用 llvmpipe 构建 Mesa 3d 7.10

使用 msvc 2015 编译的 Windows 桌面应用程序的便携式安装