Does Visual C++ have any effect on my machine??

I am opening the control panel of my laptop. I see there are many versions of Visual C++, I am not a computer technician. So Why are there so many versions of Visual C++ Redistributable installed on the machine? Do they have any effect on the software running on my computer?
Typically, a C/C++ app compiled with Visual Studio will use shared copies of Visual Studio's C runtime libraries.

So even though Visual Studio may not be installed, C/C++ apps built with a particular version will need the runtime libs for that version. Apps build with different versions, installed on the same computer, will require the matching runtime libs. Hence, different versions of the Visual C++ Redistributable.
Why are there so many versions of Visual C++ Redistributable installed on the machine? Do they have any effect on the software running on my computer?


Yes, these redistributables were installed together with programs that you installed.

There is no easy way to figure out whether some of these redistributables are still needed by installed software.

The VC++ packages consume very few space and cause no performance issues on computer.
I recently updated a game that (re)installed an older version (2010) of the VS redistributables. I have redistributables installed for every version from 2008 to 2015-2019. Total about 220MB.

Without the redistributables the size of software built would be much larger.

Without the redistributables any software that needs a particular version won't work.

Every other video game and many other things feel compelled to install their special version of it. You can't do anything about it, and if you take them off, something may stop working. It takes up a small amount of disk space, but apart from that, just leave it alone. If you need disk space, there are better ways to reclaim some of it.

This is a big miss on M$'s part. Nah, say it ain't so? Here, a simple backwards compatibility management and some interface rollups would keep it small yet allow old stuff to use the latest copy, or at worst, a few key versions would work for everything. Alas, they did not go that route when they designed it.
Last edited on
This is a big miss on M$'s part. Nah, say it ain't so? Here, a simple backwards compatibility management and some interface rollups would keep it small yet allow old stuff to use the latest copy
Simple? You're assuming bug-free forward compatibility in these redistributed libs.

The missing piece is package dependency management, so when the last one using a package is removed, its dependent packages can be removed too.
What's missing is for Microsoft to simply allow redistributing the runtime libraries directly or even statically linking them. The only reason developers run the redistributable installer at installation is because you're not supposed to do that.
Good points. However you slice it, it could be better, but it does work, so it could be worse too.
It looks like MS is attempting to make the redistributables less of a PITA, they combined the VS 2015, 2017 and 2019 into a single unit.
https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0
@Furry Guy

Nice catch, but the question is whether this will prevent software from installing their own copy of VC++ anyway?
It won't prevent 3rd party installers from installing copies of the runtime libraries. It won't even stop reinstalling versions already present. Theoretically updating the runtime library.

I have multiple copies of runtime libraries installed from the same VS version. On my main development computer only the 2015-2019 runtime libraries don't have multiple copies installed. Only 2: 1 for x86 and the other for x64.

I'd rather have multiple runtime libraries installed from differing versions of VC++ than each program statically linked with the needed runtime routines.

A single interface (one DLL only) for the runtime routines would be a great idea, but I doubt it will ever happen.
> Do they have any effect on the software running on my computer?
Well the different versions are there so that the programs which use different versions will you know, actually carry on working as expected when something else installs a newer or older run-time.

Probably too young to remember this.
https://en.wikipedia.org/wiki/DLL_Hell
Probably too young to remember this.
https://en.wikipedia.org/wiki/DLL_Hell


Responsible for much of my hair loss!
DLL Hell can still be a pain, even 'modern' languages/runtimes like C#/.NET.
Topic archived. No new replies allowed.