If you check the list of installed programs on a Windows PC that you have used for some time, you may notice that it has several, often a lot, Microsoft Visual C++ Redistributable installation listings.
The PC that I use to write this article for instance has three Microsoft Visual C++ 2005 Redistributable, eight Microsoft Visual C++ 2008 Redistributable, two Microsoft Visual C++ 2010 Redistributable, three Microsoft Visual C++ 2013 Redistributable, and two Microsoft Visual C++ 2015 Redistributable installations listed on that page.
Questions that may come to mind include why there are so many same-year versions installed, and whether you need all of those, or if you can simply keep the most recent version of each year and get rid of all the others.
If you like your PC clean and tidy, you may want to remove some of those for instance.
Developers who create programs for Windows using Microsoft Visual C++ -- previously available as a standalone but now part of Microsoft Visual Studio -- may use so-called standard libraries that exist already to add functionality to their programs. This saves time, and is often better than having to reinvent the wheel by creating the functionality from scratch.
When these libraries are used, developers may either include what is required to power these functions in their programs, or they may use a Visual C++ Redistributable instead for that.
When a developer decides to use redistributables, those do get installed on the user's PC if not installed already. That's one benefit of using redistributables, as programs may all use a redistributable that is already installed on the Windows PC.
This does not explain however why you may see five, ten or even twenty different versions of the Microsoft Visual c++ Redistributable installed on your Windows machine.
You can check the installed versions of the Microsoft Visual C++ Redistributable Package on your Windows machine in the following ways:
Windows may ship with some Microsoft Visual C++ Redistributable installations already, but most are installed when you install programs that require them on the system.
There are a couple of reasons why you see this many of them installed on your computer:
The main reason why you may see so many versions of the same year listed on your PC is that Microsoft never released a unified redistributable for a given year.
If a developer uses a particular version of a standard library, the matching redistributable version needs to be installed on the system to ensure that the program runs on the Windows PC.
While it may also run if a newer version is installed, this is not always the case and may result in error messages on load, and the termination of the program.
This means that you should not remove the different builds of the Microsoft Visual C++ Redistributable from your machine if a program that relies on it is still installed on the system.
In worst case, you end up with one redistributable installation for any program that requires them on your computer.
Microsoft changed the system with the release of the Microsoft Visual C++ 2015 Redistributable, and consequently also with the 2017 and 2019 releases.
These use a universal runtime so that only one (the latest one) needs to be installed instead of all of them.
You can check out additional information on the Universal C Runtime here.
Note: before you start, consider creating a backup of the system so that you can restore the system if you run into issues removing installed redistributables from the operating system. The worst that can happen however is that programs refuse to run.
Programs that you remove from your system won't remove the redistributable, even if it was installed during program installation. The reason for this behavior is that other programs may rely on the redistributable as well.
Removing these installations comes down to trial and error, as there is no easy way of linking programs to redistributable versions.
One option that you have is to compare installation dates of the redistributable installations with program installations. If you find matching dates, you can assume that those are linked, and that the redistributable is still needed.
If you don't find matching dates, you cannot conclude however that the redistributable is no longer needed, as programs that you installed afterwards may require it as well.
You could try and remove the oldest versions of each year first, and see how that goes. It may take a lot of testing to get it right though, and may not be worth it if you consider that all redistributable installations combined use a couple of hundred Megabytes tops when installed.
It may be better to keep all versions installed just to be on the safe side of things, and avoid any issues with programs refusing to start after the removal.
You may use the following links to download the most recent versions of the Microsoft Visual C++ Redistributable packages. The downloads include 32-bit and 64-bit versions if supported.
Now You: How do you deal with Visual C++ Redistributable installations?
Please click on the following link to open the newsletter signup page: Ghacks Newsletter Sign up
Ghacks is a technology news blog that was founded in 2005 by Martin Brinkmann. It has since then become one of the most popular tech news sites on the Internet with five authors and regular contributions from freelance writers.
If you want a full package, try this : https://github.com/crazy-max/neard-prerequisites
I have read almost the same information earlier today on pcwelt.de … ;)
Useful info Martin since I’ve looked at those in the past and wondered about getting rid of a few if the machine gets low on disk space, but didn’t have a clue as to what function they performed until I read your article.
TLDR: Microsoft is too lazy to maintain backward compatibility, thus newer version may not work with older application
Microsoft Visual C++ 2017 Redistributable is also available, maybe add to the list?
Avaliable here: https://www.visualstudio.com/downloads/
Under “Other Tools and Frameworks”
Thanks!
Good point, added. Thanks!
Nice idea of an article… and one more stupid blunder to put on Microsoft’s already long rap sheet.
No amateur developer would get away with handling libraries in a way that produces exactly the opposite effect they are supposed to achieve, but Microsoft does.
“We don’t care.”
(Only one copy of MS C++ here fortunately…)
All in one place:
http://tinyurl.com/ksnroe7
…
You may also want to have a look at this question on Stack Overflow:
http://stackoverflow.com/questions/11056812/where-to-download-vcredist#12103985
VC++ 2017 replaces the 2015 one/uninstalls it before installation.
The Visual Studio 2010 Service Pack 1 (Installer) link says that it is no longer available, please update it.