Visual C++(更具体地说是 2008)的动态运行时库现在是 Windows 操作系统的一部分吗?我注意到,至少在 Windows 8 上,您不再需要将这些随应用程序一起提供或让用户安装 Microsoft 的可再发行包。
这是真的?如果是这样,这适用于哪些 Windows 版本以及 Visual C++ 的哪些版本?
Visual C++(更具体地说是 2008)的动态运行时库现在是 Windows 操作系统的一部分吗?我注意到,至少在 Windows 8 上,您不再需要将这些随应用程序一起提供或让用户安装 Microsoft 的可再发行包。
这是真的?如果是这样,这适用于哪些 Windows 版本以及 Visual C++ 的哪些版本?
不,它们从未成为 Windows 发行版的一部分。自己部署它们是一项艰巨的要求。
看起来确实是这样。从 system32 目录中的 msvcrt.dll 开始,它与 VS2002(VS6 及更早版本)之前的 Visual Studio 版本中的 C++ 运行时 dll 同名。但是,它是 Windows 可执行文件使用的 CRT 的私有副本。并受到 Windows 中的文件系统保护功能的保护,防止旧安装程序破坏操作系统。
它当然经常是偶然的。有许多程序需要 Microsoft CRT,因此用户在安装 DLL 之前运行安装程序的可能性不大。很明显,你不能依赖那次常见的事故。
对于 Windows 8,预安装的 Microsoft.VCLibs.110 包与您使用 C++ 编写的应用商店应用所需的包相匹配。但出于与上述相同的原因,Microsoft Store 程序也是使用 VS2012 构建的,就像您的一样。即将到来的 VS2013 会发生什么现在有点混乱,我们很快就会知道。
在我看来,答案将是:是和否。