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.
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
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.