I don't think any of those solution can help when your using different OS !

Take care if you are expecting to deploy your application on both x86 and x64 PCs.

3) If you use Load Library or a check for Dll files, make sure you target the correct version.

If you look for "any" copy of msvcrt80(etc) then you won't be able to tell if it is the version your program was linked to.

The presence of one does not guarantee the presence of any of the others; a clever enough person could diddle the Registry to "install" just one of the DLLs.: The code went live yesterday and seems to be working fine. Additionally, it is installed with the command line arguments "/qb" which means "unattended but not invisible". FWIW, GUIDs for Microsoft Visual C++ 2008 / VC90 SP1 Redistributable - x86 9.0.30729 One problem with this approach is that you have to do this for each DLL that you want to use.

Here is what is beeing done: It is checked for the latest-known-to-me GUID AND the path² to-where-it-is-supposed-to-be-installed. The presence of one does not guarantee the presence of any of the others; a clever enough person could diddle the Registry to "install" just one of the DLLs.

I open-sourced a Visual C++ project on Github that checks for VC++ redistributable DLLs specifically and made it available under the Apache 2.0 license. However, installing the redist over the top in this situation is harmless.

It has three different methods for checking for the availability of VC++9 and VC++10 runtimes: Update for anyone else hitting this problem: 1) If you have Visual Studio installed, the required DLLs will be present, but the "redist package" is not, so the registry keys are missing. 2) Every major release of the redist (Any combination of VS2005/VS2008, x86/x64/IA64, and service packs: SP1, ATL security update) has a different GUID.

Is there a Registry setting that I can look for to determine whether or not the Visual C++ redistributable is installed, whether standalone or as part of Visual Studio 2008?

I know that I could launch the VC++ 2008 redistributable installer and let it handle the detection, but it would look cleaner if I can check for it and not bother launching the installer if the redistributable is already on the system.