Why so many visual C++ redistributables

May 11, 2008
22,225
1,416
126
I am trying to install a game singularity on W7-64. Unfortunately, it would not start after installation and now my other game, Clive Barker's Jericho also stopped functioning. I am finding out why and both seem to install different versions of the VS 2008 distributable and the VS2005 distributable. I do not know if this is the problem yet. But when i try to deinstall the VS 2005 C++ distributables, windows comes with a message that singularity has done something to it.

I do notice, that i have several versions of VS C++ 2008 distributables and also from VS C++ 2010 in my installed programs list.

Why are there so many different visual C++ 2008 distributables ?
it seems that programs really all need their own version of the distributable and do not function when it is updated.

Moved to Software for Windows -- Programming Moderator Ken g6

OK -- William Gaatjes :biggrin:
 
Last edited:
May 11, 2008
22,225
1,416
126
I deinstalled the visual C++ redistributables that i suspect that belonged to clive barkers jericho and deinstalled both games. Then i reinstalled singularity and now it starts (at least for now :eek:). I just played it.

I should have sticked to my old mantra never install more then one game at a time. Always worked for me.
When i have finished singularity i will de install it with the used vs C++ distributables and install Clive Barker's jericho again.
 
Last edited:

Elixer

Lifer
May 7, 2002
10,371
762
126
There is only one (well, two, one 'release' and one for 'debug' builds) redistributable for each release of the compiler, since, things change.
So, depending on when the game(or whatever) was made, it needs that specific version of the dll to be able to run.
 
May 11, 2008
22,225
1,416
126
There is only one (well, two, one 'release' and one for 'debug' builds) redistributable for each release of the compiler, since, things change.
So, depending on when the game(or whatever) was made, it needs that specific version of the dll to be able to run.

Well, i had 5 of them. 5 versions of the VS C++ 2008 alone redistributable and 3 more for the x64 version with the same buildnumber. Is that not a bit much.
And a VS C++ 2005 x86 version.
And 2 2010 versions x86 and x64.
And 1 2012 version x86 and x64.

And are these builds not cumulative ?
Meaning that a program that uses the oldest version can also use the newest version ?

What do these redistributables contain ? Are they just libraries or tables to functions in the dll from the os ?

edit :
I have not deinstalled all of them. Only the ones that were installed at the same time as Clive Barkers. Jericho.

Starts to look like the dll hell.
 
Last edited:

Dahak

Diamond Member
Mar 2, 2000
3,752
25
91
For the different year versions, I don't believe they are cumulative as there would be different features presented in the newer that old do not have

For the versions within the same year, there is probably different features that one has that the other does not and cannot say if the latest version would include all the previous ones.

Some one who works in Visual Studio might be able to answer better.

also 5 is not too bad, I have 13 spread across 32 and 64 bit
 

Elixer

Lifer
May 7, 2002
10,371
762
126
Well, i had 5 of them. 5 versions of the VS C++ 2008 alone redistributable and 3 more for the x64 version with the same buildnumber. Is that not a bit much.
And a VS C++ 2005 x86 version.
And 2 2010 versions x86 and x64.
And 1 2012 version x86 and x64.

And are these builds not cumulative ?
Meaning that a program that uses the oldest version can also use the newest version ?

What do these redistributables contain ? Are they just libraries or tables to functions in the dll from the os ?

edit :
I have not deinstalled all of them. Only the ones that were installed at the same time as Clive Barkers. Jericho.

Starts to look like the dll hell.
It is dll hell... I have a ton of them, but then again, I also have a ton of compilers on my system.

The redistributables do get bug fixes / security fixes now and then, which is why you always need the latest version of each, and you don't have to install multiple version of say 2010, since the latest one is cumulative.

For the most part, it is standard system glue code in the redistributables, but since compilers change over time, they can produce slightly different code, and things will be breaking left and right if they didn't do this.
 

TheRyuu

Diamond Member
Dec 3, 2005
5,479
14
81
You'll probably wind up having two for every visual studio version. There will be a separate one for x86 and x64 for each version. So you'll wind up having something like:
- Visual Studio 2005 Redist x86
- Visual Studio 2005 Redist x64
- ... (everything in between, e.g. 2008, 2010, 2012, 2013)
- Visual Studio 2015 Redist x86
- Visual Studio 2015 Redist x64

Basically it's completely normal and not an issue. Even if you uninstall the software that installed the redist it'll remain since it's a non-issue and other programs on the system may still need it. The idea behind redistributables is that any updates such as security updates will only need to update the redist files and the application linking to it doesn't have to ship a new version.

You can compile applications to statically link vs the CRT so they don't rely on the redistributables but any updates to the CRT will require a recompilation of the application.
 
May 11, 2008
22,225
1,416
126
For the different year versions, I don't believe they are cumulative as there would be different features presented in the newer that old do not have

For the versions within the same year, there is probably different features that one has that the other does not and cannot say if the latest version would include all the previous ones.

Some one who works in Visual Studio might be able to answer better.

also 5 is not too bad, I have 13 spread across 32 and 64 bit

I have a total of 12 redistributables, x86 and x64 at the moment.
I find it a lot. Can those redistributables not be installed in the same folder as the program ?
 
May 11, 2008
22,225
1,416
126
You'll probably wind up having two for every visual studio version. There will be a separate one for x86 and x64 for each version. So you'll wind up having something like:
- Visual Studio 2005 Redist x86
- Visual Studio 2005 Redist x64
- ... (everything in between, e.g. 2008, 2010, 2012, 2013)
- Visual Studio 2015 Redist x86
- Visual Studio 2015 Redist x64

Basically it's completely normal and not an issue. Even if you uninstall the software that installed the redist it'll remain since it's a non-issue and other programs on the system may still need it. The idea behind redistributables is that any updates such as security updates will only need to update the redist files and the application linking to it doesn't have to ship a new version.

You can compile applications to statically link vs the CRT so they don't rely on the redistributables but any updates to the CRT will require a recompilation of the application.

One x86 and x64 for each version of VS i would be fine with.
But i have 5 versions of the 2008 x86 redistributable and 3 more from the x64 redistributable.
I am not entirely confident that if i remove all but the highest build number from a given year, that all my programs continue to work.
 

Dahak

Diamond Member
Mar 2, 2000
3,752
25
91
I am not entirely confident that if i remove all but the highest build number from a given year, that all my programs continue to work.

I have run into that, with Sage ERP, in that it need the specific version of the runtime that it install and if you remove it or only have the latest of that year, it would not work. I have had this happen with some other software too

I know its a mess, but its probably best to leave them there.
 
May 11, 2008
22,225
1,416
126
I have run into that, with Sage ERP, in that it need the specific version of the runtime that it install and if you remove it or only have the latest of that year, it would not work. I have had this happen with some other software too

I know its a mess, but its probably best to leave them there.

Yeah, it is handy to compare the dates of installed games with the install dates of the redistributables if some problem arises as i had (see OP).
And then deinstall the redistributables only that came with the game.
 

postmortemIA

Diamond Member
Jul 11, 2006
7,721
40
91
I have run into that, with Sage ERP, in that it need the specific version of the runtime that it install and if you remove it or only have the latest of that year, it would not work. I have had this happen with some other software too

I know its a mess, but its probably best to leave them there.
Yep, different versions of same redistributable are usually caused by service packs for an Visual Studio version that game was made with. Like 2008 and 2010 had SP added later, so you get two different version of redistributable... each could have different libraries.

Now you know what DLL Hell means
 

Dahak

Diamond Member
Mar 2, 2000
3,752
25
91
Now you know what DLL Hell means

Oh I Know what dll hell is... been working on computers since 3.1 days... now those where dll hell days. At least now is a bit more cleaner in the sense that the runtime is with the program or linked in the winsxs folder