Where are the MSM files for the Visual C++ redistributable for Visual Studio 2017?

William picture William · Mar 8, 2017 · Viewed 9.9k times · Source

I've been using VS 2015 for a while now and just upgraded to VS 2017 when it launched yesterday (2017-03-07). I installed with only the .NET desktop and C++ desktop workflows, without changing any other individual components.

I'm considering migrating my C++ projects to the 2017 toolchain (version "141" apparently? 2015 was "140"). I need to use the VC merge modules for my installer, so I looked in the C:\Program Files (x86)\Common Files\Merge Modules folder, but that folder only contains VC140 MSMs where I was expecting to also see VC141 MSMs added by the installation of 2017.

Where are the MSM files for the 2017 VC runtime?

I briefly (very briefly) considered the possibility that because 2017's VC number looks like a semver minor bump from 2015's VC number, the 2015 MSMs might suffice for the 2017 runtime, but... that seems unlikely.

Answer

William picture William · Mar 8, 2017

As of Visual Studio 2017 RTM ...

I found the MSM files I was looking for at the following path:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.10.25008\MergeModules

The edition name is embedded in this path, which is a little unfortunate. Replace that path element according to the edition you've actually installed.

Also, the numeric path element after MSVC may be different depending on what Visual Studio update you currently have installed.

The full list of MSM files I found at that location:

Microsoft_VC150_CRT_x64.msm
Microsoft_VC150_CRT_x86.msm
Microsoft_VC150_CXXAMP_x64.msm
Microsoft_VC150_CXXAMP_x86.msm
Microsoft_VC150_DebugCRT_x64.msm
Microsoft_VC150_DebugCRT_x86.msm
Microsoft_VC150_DebugCXXAMP_x64.msm
Microsoft_VC150_DebugCXXAMP_x86.msm
Microsoft_VC150_DebugOpenMP_x64.msm
Microsoft_VC150_DebugOpenMP_x86.msm
Microsoft_VC150_OpenMP_x64.msm
Microsoft_VC150_OpenMP_x86.msm

As of Visual Studio 2017 v15.3.1 ...

Apparently a 150 version string in the merge module file names is not what MS intended. See the release notes here. The updated merge module file names use a 141 version string instead, to match the toolset version 14.1x.