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 that other programs can use. Those programs either install the redistributables they need, or ask you to do so. When programs are updated or uninstalled, they typically do not uninstall the redistributables, and there’s no easy way to know which ones your machine requires.
Visual C++ Redistributables
C++ is one of several languages programmers 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 understood by Windows.
Programmers who write software in Microsoft Visual C++ 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 thoroughly tested software.
For example, say a program includes a function to convert a string of characters 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.
Versions upon versions
There are multiple different versions of 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 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 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 any do. In an ideal world, uninstalling the last software package requiring a particular version of the redistributables would also uninstall it. Generally, that’s not the case. If you uninstall software using a redistributable, you may be left with an unnecessary redistributable on your machine, 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 remove 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, approach the problem by seeing what’s using the most space. 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++ Redistributables 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 time on it.
When you remove components designed to be shared, there’s always a risk of breaking something. There’s no simple way to be sure no program on your machine needs 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.
Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
I'll see you there!
Footnotes & References
1: Older versions of Windows list them in the Add/Remove programs section of Control Panel.