

Problems when you have more than one "errno" variable for example. Problem with earlier versions of VS where each CRT would get its own With multiple copies of the CRT in your program. Using /MT is risky if you create DLLs as well as an EXE. To be more specific, I'll allow myself to quote a part of this answer:

Possible solution is to link statically with runtime library, but it may cause a lot of problems in case you have both. This is because their compilers link against msvcrt80.dll, msvcrt90.dll, msvcrt100.dll, msvcrt110.dll, msvcrt120.dll and msvcrt140.dll respectively, which are not shipped with Windows.

However, if you are developing in VS 2005, VS 2008, VS 2010, VS 2012, VS 2013 or VS 2015, you have to distribute additional C runtime libraries along with your application. Visual Studio 6.0's compiler links against this library, so if you are developing in VS 6.0 you shouldn't encounter any problems on most users' machines. These include string manipulation, memory allocation, C-style input/output calls, etc. This library provides a typical set of library functions required by C and C++ programs. Note that future updates the the and version are probable - I've got another computer where v5 is installed, also a 2017 version.The only version of the C runtime library which is shipped by Microsoft with most of 32 bit Windows versions is msvcrt.dll. If checking for 2017, with the intention of doing an upgrade if it's not in existence, then just check the number, and if it's not at least the version that can be installed, then go ahead and install the current 2017 version. I would suggest, if checking for a minimum that 2015 is installed, just checking the key and that the version is 14. Note that the and build numbers of 2017 continue to change as new patches are updated. The properties and values are the same (same format) for both 32- and 64-bit installations. Keys:įor 64-bit VC++ Redistributable HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\圆4įor 32-bit VC++ Redistributable HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x86 This is for a 圆4 system, have a look without the Wow6432Node for a 32-bit system. It's possible to check whether 2015 or 2017 are installed by checking the registry keys described below. Further, per MSDN, the 2017 VC++ Redistributables have Binary Compatibility with the 2015 version. I've checked this, and the 2015 installation disappears from "Add/Remove Programs", and the registry values (see below) have their version numbers updated. Installation of the Visual Studio 2017 Redistributables upgrades and replaces any existing installation of the 2015 Redistributables. The 2017 VC++ Redistributable installation upgrades/REPLACES the 2015 installation
