Sam
Sam

Reputation: 81

Which Microsoft Visual C++ 2008 Runtime Required Out Of These Four Versions

I'm in need of installing Microsoft Visual C++ 2008 runtime (x86) but when I searched google and looked into the matter I came to know Microsoft is providing 4 different versions of Microsoft Visual C++ 2008 runtime

  1. Microsoft Visual C++ 2008 Redistributable Package (x86) Date published: 11/29/2007

  2. Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) Date published: 9/16/2008

  3. Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL Security Update Date published: 9/29/2010

  4. Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC Security Update Date published: 6/7/2011

Now which binary should I download, if I download the 4th one should I be able to run the application which was built using 1st runtime (mentioned above :- 1. Microsoft Visual C++ 2008 Redistributable Package (x86) -- Date published: 11/29/2007).

OR should I install all of them one by one in sequential manner, Could you please guide me?

FYI: 1. I already searched stackoverflow before posting and didn't find the answer. 2. I searched this term in google:- VC++ 2008

Upvotes: 6

Views: 8159

Answers (3)

Hans Passant
Hans Passant

Reputation: 941455

The intuitive choice is the correct one, install the latest version. These installers also deploy a publisher policy file that redirects a program that asks for any old version to the new version. Which is the basic mechanism by which they can get critical bug fixes or security updates to be activated.

Or to put it a bit more bluntly, publisher policies are a counter-measure against DLL Hell countermeasures. They work well, I never heard anybody ever complain about a versioning problem with these DLLs. The more typical DLL Hell problem is overwriting a DLL with an older version, that cannot happen with these side-by-side DLLs. Deploying an old version when your program asks for a new one (look in the .manifest file) is a fail-whale.

Upvotes: 2

Cody Gray
Cody Gray

Reputation: 244732

1. Microsoft Visual C++ 2008 Redistributable Package (x86) Date published: 11/29/2007

This is the one you need for 32-bit (x86) applications compiled with Visual Studio 2008.

2. Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) Date published: 9/16/2008

Same as above, except that it includes updates from Service Pack 1 (SP1). Use this one instead of the one above if you compiled the app with Visual Studio 2008 with Service Pack 1.

The version of Visual Studio and the service pack level can be checked from Help -> About inside of the IDE.

3. Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL Security Update Date published: 9/29/2010

4. Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC Security Update Date published: 6/7/2011

I can't tell from the name whether these two are just optional updates to the above redistributable package, or whether they include the full redistributable package plus the optional update.

Either way, you only need them if your application is written in ATL or MFC.


If this is all too confusing, note that you don't even need to use any of these redistributable installers when distributing your application. You can just place the required runtime DLLs in the same folder as your executable and it will run just fine.

The correct versions of the required libraries are copied to your computer as part of your Visual Studio installation. You'll find them in the following directory:

<Program Files folder>\Microsoft Visual Studio 9.0\VC\redist\x86

Upvotes: 1

Andred
Andred

Reputation: 42

I'd recommend all of them in the chronological order. Some poorly written installers (yup.. InstallShield) use binary custom actions and those can have hard-coded dependencies in manifests. It's lightweightand non-conflicting with each other.

Upvotes: 1

Related Questions