2

From what I read about these posting and elsewhere, regarding the issue of why I cannot install Microsoft VC++ 2015 runtime redistributable if I already have Microsoft VC++ 2017 runtime installed.

The reason for this "cannot install" is because once you have Microsoft VC++ 2017 installed, there is no need to install 2015 version,as 2017 subsume 2015. Am I right?

Secondly, and more crucially, from now onwards if I have a higher version of Microsoft VC++ installed, I can safely skip the lower version, this is going to be Microsoft strategy: going forward there is only one version of Microsoft VC++ ( the latest one). Am I right? I remember I read this elsewhere, but not sure my understanding is correct or not, and now I couldn't find the blog post. So I hope that I can get some confirmation here.

Cody Gray - on strike
  • 239,200
  • 50
  • 490
  • 574
Graviton
  • 81,782
  • 146
  • 424
  • 602
  • 1
    It would appear so. [*"Each Visual C++ Redistributable Package checks for the existence..."*](https://learn.microsoft.com/en-us/cpp/windows/redistributing-visual-cpp-files?view=vs-2019) – GSerg Jan 13 '20 at 09:15

1 Answers1

4

The VC++ runtime redistributables are the same for VS 2015, 2017 and 2019! From Microsoft Support:

Note Visual C++ 2015, 2017 and 2019 all share the same redistributable files.

However, there have been many different versions of this redistributable package released! The installer programs (linked below) will do the required checks, to see if a more recent version is already present on the target computer, and signal if so.

The runtime libraries that comprise this redistributable package are sometimes (confusingly) referred to as Visual C++ "14" Runtime Libraries. (The "14" comes from the fact the Visual Studio 2015 includes version 14 of the MSVC compiler; VS2017 = MSVC v15; and VS2019 = MSVC v16.)

Whether or not future versions of Visual C++ will also share the same redistributable package is not certain.

The latest versions, for the three supported processor platforms, can be downloaded and/or installed from the following links:

EDIT: There may be some confusion, here, over the 'version check' I mentioned above! From the same Microsoft Support page:

For example, installing the Visual C++ 2019 redistributable will affect programs built with Visual C++ 2015 and 2017 also. However, installing the Visual C++ 2015 redistributable will not replace the newer versions of the files installed by the Visual C++ 2017 and 2019 redistributables.

This is different from all previous Visual C++ versions, as they each had their own distinct runtime files, not shared with other versions.

I interpret this as meaning that, if you have an 'older' version of the vc_redist installation (released, say, with VS2015), it's components will be updated by any newer installation. However, running an older installer will not conflict with a more recent installation.

Adrian Mole
  • 49,934
  • 160
  • 51
  • 83
  • Here's something that I don't get: if 2015, 2017 and 2019 all share the same distribution files, it follow that they must be of the same binaries also, then what is the point of version check, since they are all essentially the same? – Graviton Jan 13 '20 at 11:17
  • And it seems like I am unable to get direct answers to my question from your posting, namely: there is no need to install VC++ 2015 if I already have VC++ 2017 or 2019? – Graviton Jan 13 '20 at 11:20
  • OK, sorry if I wasn't clear! There **is no need** to install the redistrib. for VC 2015 if you have that for a later version installed! **They are the same product** with different version signatures! For example, the VC2019 installer (.exe) file I have in my software package just now has a version of 14.22.27821.0; the version from VS2015 will have a version of something like 14.xx.yy.zz, where "xx" is **definitely** less than 22. – Adrian Mole Jan 13 '20 at 14:48
  • The version check is done (internally) by the installers to prevent newer binaries being overwritten by older ones. You don't *need* to do a manual version check. The actual binary system files (DLLs) they install have the same *names* but may have different version and content. – Adrian Mole Jan 13 '20 at 14:49
  • 1
    @Graviton Also, all three redistributables are 'logged' by the Windows system as the same product, with the following 'registry key': `HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes` – Adrian Mole Jan 13 '20 at 14:56