Programs designed with Visual Studio may require a specific version of the Microsoft Visual C++ Redistributable to run. The requirement resulted in the installation of a large number of Visual C++ Redistributable packages on Windows PCs.
It is not uncommon to see multiple Microsoft Visual C++ Redistributables on a system that were installed by software programs, through updates, e.g. security updates, or manually by the system administrator.
Redistributables are stored in a central location so that any program installed on the system may access the files if required. You can check out our detailed guide on Visual C++ Redistributables here for additional details.
Microsoft changed the system significantly with the release of the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019. A baseline image is provided for these redistributable packages so that it is no longer necessary to install different versions separately on target systems.
In other words: if the Visual C++ 2019 redistributable is installed on a system, it is no longer necessary to install the Visual C++ 2015 or 2017 redistributable packages as these are supported automatically as well.
Microsoft provides the following example on the "The latest supported Visual C++ downloads" support page.
For example, installing the Visual C++ 2019 redistributable will affect programs built with Visual C++ 2015 and 2017 also. However, installing the Visual C++ 2015 redistributable will not replace the newer versions of the files installed by the Visual C++ 2017 and 2019 redistributables.
This is different from all previous Visual C++ versions, as they each had their own distinct runtime files, not shared with other versions.
A support article on Microsoft's Docs website provides further information:
From Visual Studio .NET through Visual Studio 2013, each major release of the C++ compiler and tools has included a new, standalone version of the Microsoft C Runtime (CRT) library. These standalone versions of the CRT were independent from, and to various degrees, incompatible with each other. For example, the CRT library used by Visual Studio 2012 was version 11, named msvcr110.dll, and the CRT used by Visual Studio 2013 was version 12, named msvcr120.dll. Beginning in Visual Studio 2015, this is no longer the case. Visual Studio 2015 and later versions of Visual Studio all use one Universal CRT.
The Universal CRT is a Microsoft Windows operating system component. It is included as part of the operating system in Windows 10 and is available for older operating systems, Windows Vista through Windows 8.1, by using Windows Update. In addition, local deployment of the Universal CRT is supported, with some restrictions.
Windows administrators may download the Universal C Runtime with a click on the following links:
Older Visual C++ Redistributable packages for Visual Studio still need to be downloaded and installed separately, or delivered as part of a program's installation process.
The Visual C++ All in One Installer is also useful when it comes to installing redistributable packages on Windows systems.
The Universal C Runtime is a step in the right direction. While it does not take care of older C++ Redistributable packages, it did so starting with the release of the Visual C++ 2015 Redistributable.