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

Jul 26, 2021 at 8:22am
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?
Jul 26, 2021 at 8:53am
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.
Jul 26, 2021 at 4:41pm
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.
Jul 26, 2021 at 7:08pm
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.

Jul 27, 2021 at 4:30am
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 Jul 27, 2021 at 4:32am
Jul 27, 2021 at 7:44am
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.
Jul 27, 2021 at 4:50pm
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.
Jul 27, 2021 at 4:59pm
Good points. However you slice it, it could be better, but it does work, so it could be worse too.
Jul 27, 2021 at 7:35pm
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
Jul 28, 2021 at 7:39am
@Furry Guy

Nice catch, but the question is whether this will prevent software from installing their own copy of VC++ anyway?
Jul 28, 2021 at 3:02pm
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.
Jul 28, 2021 at 3:52pm
> 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
Jul 28, 2021 at 4:57pm
Probably too young to remember this.
https://en.wikipedia.org/wiki/DLL_Hell


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