Reputation: 81
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
Microsoft Visual C++ 2008 Redistributable Package (x86) Date published: 11/29/2007
Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) Date published: 9/16/2008
Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL Security Update Date published: 9/29/2010
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
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
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
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