我环顾四周,不确定是否能找到明确的答案,所以如果之前有人问过这个问题,我很抱歉;我的“Google-Fu”让我失望了。
我们正在针对 .NET Framework 开发软件,但从历史上看,我们必须包含许多第三方组件。此外,从历史上看,这些往往与 Microsoft Visual Studio C++ 运行时版本有各种依赖关系。这导致我们将分发作为初始安装过程的一部分:
Microsoft Visual Studio C++ 2005 Redistributable (SP1) - build 8.0.61001
Microsoft Visual Studio C++ 2008 Redistributable - build 9.0.30729.6161
Microsoft Visual Studio C++ 2010 Redistributable - build 10.0.40129
Microsoft Visual Studio C++ 2012 Redistributable - build 11.0.61030
但随着时间的推移,我们使用的许多第 3 方组件已被更新、更好的组件所取代,并且我们通过 NuGet 将它们包含到我们的项目中。我发现,当我在没有安装上述内容的系统上安装我们的软件时,我们的大多数应用程序都可以正常运行,没有错误。所以我开始认为上面的很多内容都不再需要了。
理想情况下,我只想把它们全部扔掉。减轻我们的支持人员在设置首次使用机器时安装所有这些组件以及我们的软件的压力。
如果我能告诉他们那就太好了“看,只需安装 VC++ 可再发行版本 xyz,任何需要上述四个版本之一的东西都可以正常工作”
我在网上看到很多资源声称,例如,2017 年的可再发行版本取代了 2015 年的版本,等等,但是这种向后兼容性是否可以一直追溯到 2005 SP1 版本?
我的第二个问题有点笼统,但我并不期望对此有很多答案。
您知道是否有任何知名的第 3 方开发人员工具正在使用我上面列表中提到的四个可再发行组件之一?例如,我们使用 Crystal Reports 运行时 13.0.17 - 哦,我多么希望我们能够转储它并继续......并且我们的一位支持人员已经确定了这一点有时如果缺少 2005 SP1 运行时,将无法安装。试图从在线资源中查找此类信息就像大海捞针一样......