@@ -22,6 +22,8 @@ const certFile = 'C:\\Program Files\\Git\\mingw64\\ssl\\cert.pem'
2222const msys = `${ drive } :\\DevKit64`
2323const msysPathEntries = [ `${ msys } \\mingw\\x86_64-w64-mingw32\\bin` , `${ msys } \\mingw\\bin` , `${ msys } \\bin` ]
2424
25+ const virtualEnv = common . getVirtualEnvironmentName ( )
26+
2527export function getAvailableVersions ( platform , engine ) {
2628 if ( engine === 'ruby' ) {
2729 return Object . keys ( rubyInstallerVersions )
@@ -58,8 +60,6 @@ export async function install(platform, engine, version) {
5860
5961 const winMSYS2Type = common . setupPath ( [ `${ rubyPrefix } \\bin` , ...toolchainPaths ] )
6062
61- const virtualEnv = common . getVirtualEnvironmentName ( )
62-
6363 if ( ! [ 'windows-2019' , 'windows-2016' ] . includes ( virtualEnv ) ) {
6464 await installMSY2Tools ( )
6565 }
@@ -175,9 +175,22 @@ async function setupMSWin() {
175175/* Sets MSVC environment for use in Actions
176176 * allows steps to run without running vcvars*.bat, also for PowerShell
177177 * adds a convenience VCVARS environment variable
178- * this assumes a single Visual Studio version being available in the windows-latest image */
178+ * this assumes a single Visual Studio version being available in the window images */
179179export function addVCVARSEnv ( ) {
180- const vcVars = '"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"'
180+ let vcVars = ''
181+ switch ( virtualEnv ) {
182+ case 'windows-2016' :
183+ vcVars = '"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"'
184+ break
185+ case 'windows-2019' :
186+ vcVars = '"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"'
187+ break
188+ case 'windows-2022' :
189+ vcVars = '"C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"'
190+ break
191+ default :
192+ throw new Error ( `Unknown Windows Image: ${ virtualEnv } ` )
193+ }
181194 core . exportVariable ( 'VCVARS' , vcVars )
182195
183196 let newEnv = new Map ( )
0 commit comments