msvc-dev-cmd icon indicating copy to clipboard operation
msvc-dev-cmd copied to clipboard

with: vsversion: 2019 toolset: 14.4 fails on windows2019-runner

Open JoergAtGithub opened this issue 7 months ago • 3 comments

GitHubs Windows2019-Runner-Image contains the toolset 14.4 but only VS2019: https://github.com/actions/runner-images/blob/win22/20240603.1/images/windows/Windows2019-Readme.md

This argument combination

uses: ilammy/msvc-dev-cmd@v1
      with:
        vsversion: 2019
        toolset: 14.4

fails, because msvc-dev-cmd looks in the 2019 path for the 14.4 toolset.

JoergAtGithub avatar Apr 18 '25 12:04 JoergAtGithub

Hi. Although I don't think I fully understand what you wrote, I can guess what you were encountering. Do you want to use VS 2019? If so:

    uses: ilammy/msvc-dev-cmd@v1
      with:
        vsversion: 2019

We were going to have some explanation about the "toolset" argument in README, but unfortunately that has been aborted (PR #89).

pzhlkj6612 avatar Apr 19 '25 04:04 pzhlkj6612

Let me try to write it in other words: -The Microsoft Visual C++ Redistributable toolsets are backward compatible -The Github runner image Windows-2019 contains: --Full VS2019 incl. the 14.4 toolset --Additional the latest 14.4 Microsoft Visual C++ Redistributable toolset (the version that comes with the latest VS2022) -Our project builds with Windows-2019 Github runner image --and generates an MSI installer including the Microsoft Visual C++ Redistributable toolset --it also includes external DLLs that were built with VS2022 and require toolset 14.4 therefore I tried to select the toolset 14.4 therefore, without changing anything else. This didn't work.

JoergAtGithub avatar Apr 19 '25 05:04 JoergAtGithub

I tried to select the toolset 14.4 therefore, without changing anything else. This didn't work.

Hmm, what things didn't work? Please put some logs here.


-The Microsoft Visual C++ Redistributable toolsets are backward compatible

Yes. Since Visual Studio 2015: https://learn.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017


-The Github runner image Windows-2019 contains: --Full VS2019 incl. the 14.4 toolset --Additional the latest 14.4 Microsoft Visual C++ Redistributable toolset (the version that comes with the latest VS2022)

Well...

Windows Server 2019

  • OS Version: 10.0.17763 Build 7240
  • Image Version: 20250511.1.0

Visual Studio Enterprise 2019

Workloads, components and extensions

Package Version
Microsoft.VisualStudio.Component.VC.14.25.x86.x64 16.11.32428.96
Microsoft.VisualStudio.Component.VC.140 16.11.33801.447

Microsoft Visual C++

Name Architecture Version
Microsoft Visual C++ 2013 Minimum Runtime x86 12.0.21005
Microsoft Visual C++ 2019 Debug Runtime x64 14.29.30157
Microsoft Visual C++ 2019 Debug Runtime x86 14.29.30157
Microsoft Visual C++ 2022 Additional Runtime x64 14.42.34438
Microsoft Visual C++ 2022 Minimum Runtime x64 14.42.34438
Microsoft Visual C++ 2022 Additional Runtime x86 14.42.34438
Microsoft Visual C++ 2022 Minimum Runtime x86 14.42.34438

partially copied from: https://github.com/actions/runner-images/blob/699ade486f16bd6d26b06ac3fe42d6db7932a3aa/images/windows/Windows2019-Readme.md

Thus, I don't think we have any 14.4x toolsets in the Windows-2019 image.


-Our project builds with Windows-2019 Github runner image --and generates an MSI installer including the Microsoft Visual C++ Redistributable toolset --it also includes external DLLs that were built with VS2022 and require toolset 14.4 therefore

Your project seemed to be buildable on Windows-2019, but it doesn't for now, right?

pzhlkj6612 avatar May 19 '25 07:05 pzhlkj6612