Visual C ++(更具体地说是2008年)的dynamic运行时库是现在Windows操作系统的一部分吗? 我注意到,至less在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 ++编写的Store应用程序所需的软件包相匹配。 但是,正是出于上述原因,Microsoft Store程序也是使用VS2012构建的,就像您的一样。 即将到来的VS2013会发生什么事情,现在有点混乱,我们很快就会知道。
在我看来,答案将是:是和否