Microsoft Visual C++ Redistributable information
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.
Purpose of Visual C++ Redistributable
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:
- Any version: Use the shortcut Windows-Pause to open the Control Panel. Select Control Panel Home, and on the page that opens Programs and Features.
- Windows 10: Use Windows-I to open the Settings application. If you use the Creators Update version or newer, select Apps > Apps & Features, and scroll down until you find the packages listed. If you use an older version of Windows 10, select System, and find the application listings there.
Why so many?
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:
- 32-bit and 64-bit versions are made available. While 32-bit Windows users will only see 32-bit versions of the Microsoft Visual C++ Redistributable version, you may see both installed on 64-bit versions of the operating system.
- Multiple builds may exist for any main version of Visual C++. Eleven different versions of Microsoft Visual C++ 2008 Redistributable exist for instance, and they may all be installed next to each other.
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.
Universal C Runtime
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.
Things to try
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.
Microsoft Visual C++ Redistributable Packages downloads
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.
- Microsoft Visual C++ Redistributable for Visual Studio 2017
- Microsoft Visual C++ Redistributable Packages for Visual Studio 2015 Update 3
- Microsoft Visual C++ Redistributable Packages for Visual Studio 2013
- Microsoft Visual C++ Redistributable Packages for Visual Studio 2012 Update 4
Visual Studio 2010 Service Pack 1 (Installer)- Visual Studio 2010 Service Pack 1 (Web Installer) (Download Removed)
- Visual Studio 2008 Service Pack 1 (Installer)
TL;DR
- Visual C++ Redistributable files get installed when you install a program that requires them, when you install or update Windows, or when you install them directly.
- They are used by programmers who use standard libraries in Visual Studio.
- Programs require specific versions, and may not run when these versions are removed (if older or newer versions of the same year are still available).
Now You: How do you deal with Visual C++ Redistributable installations?
The Visual Studio 2010 Service Pack 1 (Installer) link says that it is no longer available, please update it.
VC++ 2017 replaces the 2015 one/uninstalls it before installation.
You may also want to have a look at this question on Stack Overflow:
http://stackoverflow.com/questions/11056812/where-to-download-vcredist#12103985
All in one place:
http://tinyurl.com/ksnroe7
…
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…)
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!
TLDR: Microsoft is too lazy to maintain backward compatibility, thus newer version may not work with older application
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.
I have read almost the same information earlier today on pcwelt.de … ;)
If you want a full package, try this : https://github.com/crazy-max/neard-prerequisites