actions-marketplace-validations/Setup Visual C++ Development Environment
Configure the Visual C++ development environment by running vcvarsall.bat.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Apr 6, 2026
- License
- MIT
Pinned Snippet
uses: actions-marketplace-validations/mlocati_setup-msvc@b0d9cacc37bca3008de7e4c3118298c307b9a96e # no releases — HEAD as of 2026-07-13tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| vs-version | The Visual Studio version (e.g. 'latest', '2022', '17'), if not specified, the latest installed Visual Studio version will be used | no | latest |
| architecture | The architecture for the Visual Studio tools ('x86', 'x64', 'x86_x64', 'x86_arm', 'x86_arm64', 'x64_x86', 'x64_arm', 'x64_arm64') - if not specified, the action will try to determine it based on the system architecture | no | — |
| platform-type | The platform type for the Visual Studio tools ('store', 'uwp', or empty for classic desktop) | no | desktop |
| windows-sdk-version | The Windows SDK version to use (e.g. '10.0.26100.0', '8.1') - if not specified, the action will try to determine it based on the installed SDKs | no | — |
| toolset-version | The Visual Studio toolset version to use (e.g. '14', '14.44', '14.44.35207') - if not specified, the latest installed toolset version will be used | no | — |
| spectre-mode | Whether to enable Spectre mitigation (true or false) | no | false |
| canonicalize-paths | If true, verifies if paths in environment variables exist, resolves symbolic links, and normalizes casing (e.g., converts 'c:\pRoGrAm fILES\Foo\' to 'C:\Program Files\Foo') | no | false |
| if-not-windows | What to do if the action is run on a non-Windows system ('fail' to fail the action, 'warn' to print a warning, 'ignore' to do nothing) | no | fail |
| update-env | Set to true to update the environment variables of subsequent steps in the job, false to not update them, or to a newline-separated list of variable names to only update a subset of them (prepend "!" to a variable name to exclude it from updating when using a list) | no | true |
| debug | Dump debug information | no | false |
Outputs
| name | description |
|---|---|
| vcvarsall-path | The path to the vcvarsall.bat file used for inspection - e.g. C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat |
| path | The additional paths added to the PATH environment variable by vcvarsall.bat (semicolon-separated) |
| include | The INCLUDE environment variable set by vcvarsall.bat (semicolon-separated) |
| lib | The LIB environment variable set by vcvarsall.bat (semicolon-separated) |
| libpath | The LIBPATH environment variable set by vcvarsall.bat (semicolon-separated) |
| vc-installdir | The root directory of Visual C++ - e.g. C:\Program Files\Microsoft Visual Studio\2022\Community\VC\ |
| vs-installdir | The root directory of Visual Studio - e.g. C:\Program Files\Microsoft Visual Studio\2022\Community\ |
| vs-version | The version of Visual Studio - e.g. 17.0 |
| vctools-installdir | The root directory of the Visual C++ tools - e.g. C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\ |
| vctools-version | The version of the Visual C++ tools - e.g. 14.44.35207 |
| windows-sdk-dir | The root directory of the Windows SDK - e.g. C:\Program Files (x86)\Windows Kits\10\ |
| windows-sdk-version | The version of the Windows SDK - e.g. 10.0.26100.0\ |
| windows-sdk-lib-version | The version of the Windows SDK libraries - e.g. 10.0.26100.0\ |
| ucrt-version | The version of the Universal C Runtime - e.g. 10.0.26100.0 |
| platform | The target platform for the Visual Studio tools - e.g. x64 |
| vcmd-arg-host-arch | The architecture of the system that runs the Visual Studio tools - e.g. x64 |
| vcmd-arg-tgt-arch | The architecture of the target platform - e.g. x64 |
| all | All the environment variables set by vcvarsall.bat, in JSON format |