C++ Can-visualc++;2017可再发行软件包是否支持使用VC2015的应用程序?

C++ Can-visualc++;2017可再发行软件包是否支持使用VC2015的应用程序?,c++,redistributable,vcredist,visual-c++-2015,visual-c++-2017,C++,Redistributable,Vcredist,Visual C++ 2015,Visual C++ 2017,如果在我的机器上安装了 Visual C++ 2017可重分发< /强>,它可以支持为 2015 编写的应用程序吗? < >如果卸载了 Visual C++ 2015可重新分配< /强>,安装 Visual C++ 2017可重分配< /强>,所有的应用程序都不会出错吗? < P>不,它们将不能工作< /P> 可再发行的包是.exe,它安装所需的DLL msvcrtXXXX.dll 其中每次构建XXXX变更(VS2017、VS2015等) 它也没有引用计数,这意味着无论有多少人安装它,一次卸

如果在我的机器上安装了<强> Visual C++ 2017可重分发< /强>,它可以支持为<强> 2015 <强>

编写的应用程序吗? < >如果卸载了<强> Visual C++ 2015可重新分配< /强>,安装<强> Visual C++ 2017可重分配< /强>,所有的应用程序都不会出错吗?

< P>不,它们将不能工作< /P> 可再发行的包是.exe,它安装所需的DLL

msvcrtXXXX.dll
其中每次构建XXXX变更(VS2017、VS2015等)

它也没有引用计数,这意味着无论有多少人安装它,一次卸载就会删除文件

更新 Visual Studio 2017不会更改版本号

VS2017  msvcr140.dll
VS2015  msvcr140.dll

VS2013  msvcr120.dll
VS2012  msvcr110.dll
VS2010  msvcr100.dll
VS2008  msvcr90.dll
因此,微软认为VS 2015和VS 2017可再发行软件包是兼容的

不幸的是,寻找VS2015和VS2017的下载,它们都是可用的,因此可能存在细微的差异


如果2015年没有安装,那将是因为它认为它不如已经安装的2017年好。但是,我没有找到强有力的文档证明这是微软所期望的。

那么,如何在一台有VC++2017Redist的机器上安装VC++2015Redist?当我试着这么做的时候,它FAILS@ManjunathBabu您得到的错误是什么?安装早期的可再发行版本应该不会有任何问题。它们实际上是二进制兼容的。。。2015年和2017年。您至少需要编译所依据的运行时版本(例如,如果您仍在使用VS2015,则需要VC++2015Redist Update 3),但具有兼容界面的较新运行时也可以正常工作。2013运行时显然不兼容,出现了接口更改。@Aczire:在具有VC++2017Redist的计算机上,如果我安装了VC++2015Redist,错误日志会显示“错误0x80070666:安装更新版本时无法安装产品”这两个可再发行软件包会安装同名文件(例如msvcr140.dll),考虑到他们之前已经为每个版本重命名了文件,我认为他们应该是兼容的。然而,微软并没有强烈声明要使用VS2017软件包,因为它修复了我可以找到的bug,他们声称它是二进制兼容的@尼尔:文章在哪里特别提到了可再发行软件包?这篇文章讨论了工具集MSVC 2017中VC运行时标题下的3个多段落与2015是二进制兼容的。