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