Home > Software design >  How to get MSVC MergeModules v142 in VisualStudio 2022?
How to get MSVC MergeModules v142 in VisualStudio 2022?

Time:01-18

I work on an open-source application that is built in VisualStudio using the v142 toolset. This toolset is choosen over the newer v143 toolset because

  • some external libraries provide binary distributions for v142
  • github actions provide a runner containing v142

New developers of course start with VisualStudio 2022 CE. They just have to install the correct toolset and the compilation succeeds as expected. However, when building the installer (using Wix) it complains that the merge module for v142 is not available:

error LGHT0103 : The system cannot find the file 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.29.30133\MergeModules\Microsoft_VC142_CRT_x86.msm'.

Even installing the package Microsoft.VisualStudio.Component.VC.Redist.MSM via the VisualStudio installer did not bring the v142 merge modules in. They are only available for the v143 toolset.

  • Is there some way to get the missing merge modules?
  • Or would it be OK to use the v143 merge modules while everything else is v142?

Find the complete list of installed packages for VS 2022 here:

{
  "version": "1.0",
  "components": [
    "Microsoft.VisualStudio.Component.CoreEditor",
    "Microsoft.VisualStudio.Workload.CoreEditor",
    "Microsoft.VisualStudio.Component.TypeScript.TSServer",
    "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions",
    "Microsoft.VisualStudio.Component.JavaScript.TypeScript",
    "Microsoft.VisualStudio.Component.Roslyn.Compiler",
    "Microsoft.Component.MSBuild",
    "Microsoft.VisualStudio.Component.Roslyn.LanguageServices",
    "Microsoft.VisualStudio.Component.TextTemplating",
    "Microsoft.VisualStudio.Component.NuGet",
    "Microsoft.VisualStudio.Component.Debugger.JustInTime",
    "Component.Microsoft.VisualStudio.LiveShare.2022",
    "Microsoft.VisualStudio.Component.IntelliCode",
    "Microsoft.VisualStudio.Component.VC.CoreIde",
    "Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
    "Microsoft.VisualStudio.Component.Graphics.Tools",
    "Microsoft.VisualStudio.Component.VC.DiagnosticTools",
    "Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
    "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
    "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake",
    "Microsoft.VisualStudio.Component.VC.CMake.Project",
    "Microsoft.VisualStudio.Component.VC.ATL",
    "Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest",
    "Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest",
    "Microsoft.VisualStudio.Component.VC.ASAN",
    "Microsoft.VisualStudio.Component.Windows10SDK.18362",
    "Microsoft.VisualStudio.ComponentGroup.VC.Tools.142.x86.x64",
    "Microsoft.VisualStudio.Workload.NativeDesktop",
    "Microsoft.VisualStudio.Component.VC.Redist.MSM",
    "Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64"
  ]
}

CodePudding user response:

This appears to be a bug in the Visual Studio 2022 installer: The merge modules component should be tied to which toolsets are installed, but it appears to install only the latest/current toolset's merge modules. The same is true for Visual Studio 2019; it appears that version is the only way to get the merge modules installed.

That said, merge modules are not recommended. The preferred method is to use the redistributable packages.

  •  Tags:  
  • Related