@@ -136,6 +136,55 @@ jobs:
136
136
- name : Checkout
137
137
uses : actions/checkout@v4
138
138
139
+ - name : Fix Visual Studio installation
140
+ # Avoid toolset ambiguity that MSVC can't handle.
141
+ run : |
142
+ Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
143
+ $InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
144
+ $componentsToRemove= @(
145
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ARM.Spectre"
146
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ARM"
147
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ARM64.Spectre"
148
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ARM64"
149
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.ARM.Spectre"
150
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.ARM"
151
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.ARM64.Spectre"
152
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.ARM64"
153
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.Spectre"
154
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL"
155
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.ARM.Spectre"
156
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.ARM"
157
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.ARM64.Spectre"
158
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.ARM64"
159
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.Spectre"
160
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC"
161
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.x86.x64.Spectre"
162
+ "Microsoft.VisualStudio.Component.VC.14.37.17.7.x86.x64"
163
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ARM"
164
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ARM.Spectre"
165
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ARM64"
166
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ARM64.Spectre"
167
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL"
168
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.ARM"
169
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.ARM.Spectre"
170
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.ARM64"
171
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.ARM64.Spectre"
172
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.Spectre"
173
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC"
174
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.ARM"
175
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.ARM.Spectre"
176
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.ARM64"
177
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.ARM64.Spectre"
178
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.Spectre"
179
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64"
180
+ "Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64.Spectre"
181
+ )
182
+ [string]$workloadArgs = $componentsToRemove | ForEach-Object {" --remove " + $_}
183
+ $Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"",$workloadArgs, '--quiet', '--norestart', '--nocache')
184
+ # should be run twice
185
+ $process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
186
+ $process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
187
+
139
188
- name : Configure Developer Command Prompt for Microsoft Visual C++
140
189
# Using microsoft/setup-msbuild is not enough.
141
190
uses : ilammy/msvc-dev-cmd@v1
0 commit comments