Time for my most common, yet most annoying answer ever:
I’ll describe what the Visual C++ redistributables are all about, and why the safest thing to do is nothing.
Become a Patron of Ask Leo! and go ad-free!
Visual C++ redistributables are software packages provided by Microsoft other programs can use. Those programs will either install the redistributables they need, or ask you to do so. When programs update or are uninstalled they typically do not uninstall the redistributables, and there’s no easy way to know which ones your machine still requires.
Visual C++ Redistributables
C++ is a computer programming language, one of several languages programmers can use to create software.
Visual C++ is Microsoft’s implementation of that programming language. This includes the tools to convert (or “compile”) the code that programmers write in C++ into the “.exe”, “.dll”, and other files actually understood by Windows.
Programmers writing software using Microsoft Visual C++ can make use of what are called “standard libraries”. These are collections of pre-written software allowing them to avoid rewriting common sequences of code. Instead, they use this collection of pre-written and very thoroughly-tested software.
One example might be a function to convert a string to all upper case (“all upper case” would be converted to “ALL UPPER CASE” by this function). Rather than requiring every program needing this function to write it from scratch, the standard library includes such a function, ready to go.
They’re termed “redistributable” because they are Microsoft software which is allowed to be distributed, or “re-distributed”, by others. When you install a program, the setup program may have the option of installing the Visual C++ Redistributable if it’s not present. On the other hand, if you have five programs all using the same Visual C++ Redistributable, there need be only one copy, installed by the first of the five to have been installed.
Versions upon versions
There are multiple different versions of the Visual C++ Redistributable. Unfortunately newer ones don’t supersede older ones. For example, the Visual C++ 2015 Redistributable doesn’t automatically replace the Visual C++ 2010 Redistributable. Both may be needed.
Much like the .NET Framework, you can end up with more than one version on your machine.
You can see which are installed on your machine by visiting “Apps & features” in the Settings app and scrolling down in the list1. As you can see in the image above, my machine has ten instances of Microsoft Visual C++ Redistributables, including 2010 ,2012, 2013, and 2015-2019 versions, in a mixture of x86 (32 bit) and x64 (64 bit) editions.
This is not terribly uncommon.
Do you need them?
I have no idea if you need them. I have no idea if you need just one or two or all of the several versions possibly installed on your machine.
I mentioned above that “it depends”, and what it depends on is the software installed on your machine. If the software installed on your machine needs them, you need them. If it doesn’t, you might not.
Unfortunately, there’s no easy way for you to tell which programs on your machine require which versions of the redistributables. Or if, indeed, any still do. In an ideal world uninstalling the last software package requiring a particular version of the redistributables would also uninstall it. Unfortunately that’s generally not the case. If you uninstall software using redistributable, you may be left with an unnecessary redistributable on your machine, but with no way to tell if that’s the case.
Leaving them all in place is by far the safest thing to do.
Is it worth it?
Is it worth the time and risk to try removing them?
My position is no. In my experience, they won’t give you back nearly as much disk space as you expect, and they’re not impacting system performance if they’re not being used.
If you’re in a disk space crunch, I’d approach the problem by seeing what’s using the most space first. You’ll get more space more quickly if you approach it by looking for the space hogs first. While it might seem like multiple Visual C++ Redistributable would add up to a lot of space, in practice they don’t, at least not in comparison to other things on your machine.
If you’re not running low on disk space, I wouldn’t spend any more time on it.
There’s always a risk of breaking something when removing components designed to be shared. There’s just no simple way to ensure there are no programs on your machine needing them.
The one, true, way
There is one way guaranteed to leave you with only the Visual C++ Redistributables you need.
- Back up.
- Reinstall Windows, from scratch.
- Reinstall the applications you use, from scratch.
- Restore your data from backups (or wherever else convenient).
This will leave your machine with only the redistributables you need, installed by the applications you use.
And after all that, you may find you’re right back where you started.
In my opinion, it’s just not worth it.
If you found this article helpful, I'm sure you'll also love Confident Computing! My weekly email newsletter is full of articles that help you solve problems, stay safe, and give you more confidence with technology. Subscribe now and I'll see you there soon,
Footnotes & References
1: Older versions of Windows list them in the Add/Remove programs section of Control Panel.