Implement new Pester Tests for Visual Studio (#1251)

* implement pester tests for visual studio

* fix components list
This commit is contained in:
Dibir Magomedsaygitov
2020-07-22 14:04:40 +03:00
committed by GitHub
parent 99bd7bf035
commit 532b49be6f
9 changed files with 591 additions and 513 deletions

View File

@@ -89,6 +89,16 @@
"source": "{{ template_dir }}/scripts/Tests", "source": "{{ template_dir }}/scripts/Tests",
"destination": "{{user `image_folder`}}" "destination": "{{user `image_folder`}}"
}, },
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolcache-2016.json",
"destination": "{{user `root_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-2016.json",
"destination": "{{user `toolset_json_path`}}"
},
{ {
"type": "windows-shell", "type": "windows-shell",
"inline": [ "inline": [
@@ -179,6 +189,9 @@
0, 0,
3010 3010
], ],
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Windows2016/Install-VS2017.ps1" "{{ template_dir }}/scripts/Installers/Windows2016/Install-VS2017.ps1"
], ],
@@ -317,16 +330,6 @@
"{{ template_dir }}/scripts/Installers/Install-Packer.ps1" "{{ template_dir }}/scripts/Installers/Install-Packer.ps1"
] ]
}, },
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolcache-2016.json",
"destination": "{{user `root_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-2016.json",
"destination": "{{user `toolset_json_path`}}"
},
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[ "environment_vars":[

View File

@@ -89,6 +89,16 @@
"source": "{{ template_dir }}/scripts/Tests", "source": "{{ template_dir }}/scripts/Tests",
"destination": "{{user `image_folder`}}" "destination": "{{user `image_folder`}}"
}, },
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolcache-2019.json",
"destination": "{{user `root_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-2019.json",
"destination": "{{user `toolset_json_path`}}"
},
{ {
"type": "windows-shell", "type": "windows-shell",
"inline": [ "inline": [
@@ -187,6 +197,9 @@
0, 0,
3010 3010
], ],
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Windows2019/Install-VS2019.ps1" "{{ template_dir }}/scripts/Installers/Windows2019/Install-VS2019.ps1"
], ],
@@ -292,16 +305,6 @@
"{{ template_dir }}/scripts/Installers/Install-Packer.ps1" "{{ template_dir }}/scripts/Installers/Install-Packer.ps1"
] ]
}, },
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolcache-2019.json",
"destination": "{{user `root_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-2019.json",
"destination": "{{user `toolset_json_path`}}"
},
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[ "environment_vars":[

View File

@@ -33,5 +33,9 @@ Export-ModuleMember -Function @(
'Get-WhichTool' 'Get-WhichTool'
'Get-EnvironmentVariable' 'Get-EnvironmentVariable'
'Invoke-PesterTests' 'Invoke-PesterTests'
'Get-VsCatalogJsonPath'
'Get-VisualStudioPath'
'Install-AndroidSDKPackages' 'Install-AndroidSDKPackages'
'Get-VisualStudioPackages'
'Get-VisualStudioComponents'
) )

View File

@@ -464,6 +464,36 @@ function Extract-7Zip {
} }
} }
function Get-VsCatalogJsonPath {
$instanceFolder = Get-Item "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances\*" | Select-Object -First 1
return Join-Path $instanceFolder.FullName "catalog.json"
}
function Get-VisualStudioPath {
Param
(
[Parameter(Mandatory=$true)]
[string]$Version,
[Parameter(Mandatory=$true)]
[string]$Edition
)
return "${env:ProgramFiles(x86)}\Microsoft Visual Studio\${Version}\${Edition}"
}
function Get-VisualStudioPackages
{
$packagePath = "$env:ProgramData\Microsoft\VisualStudio\Packages\_Instances\*\state.packages.json"
$instanceFolders = Get-ChildItem -Path $packagePath
(Get-Content -Path $instanceFolders | ConvertFrom-Json).packages
}
function Get-VisualStudioComponents {
$vsPackages = Get-VisualStudioPackages | Where-Object type -in 'Component', 'Workload'
$vsPackages | Sort-Object Id | Select-Object @{n = 'Package'; e = {$_.Id}} |
Where-Object { $_.Package -notmatch "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}" }
}
function Install-AndroidSDKPackages { function Install-AndroidSDKPackages {
Param Param
( (

View File

@@ -5,86 +5,20 @@
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers -Force $toolset = Get-ToolsetContent
$requiredComponents = $toolset.visualStudio.workloads | ForEach-Object { "--add $_" }
$workLoads = @(
"--allWorkloads --includeRecommended"
$requiredComponents
"--remove Component.CPython3.x64"
)
$workLoadsArgument = [String]::Join(" ", $workLoads)
$WorkLoads = '--allWorkloads --includeRecommended ' + ` $releaseInPath = $toolset.visualStudio.edition
'--add Microsoft.Net.Component.4.6.2.SDK ' + ` $bootstrapperUrl = "https://aka.ms/vs/15/release/vs_${releaseInPath}.exe"
'--add Microsoft.Net.Component.4.6.2.TargetingPack ' + `
'--add Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools ' + `
'--add Microsoft.Net.Component.4.7.SDK ' + `
'--add Microsoft.Net.Component.4.7.TargetingPack ' + `
'--add Microsoft.Net.ComponentGroup.4.7.DeveloperTools ' + `
'--add Microsoft.Net.Component.4.7.1.SDK ' + `
'--add Microsoft.Net.Component.4.7.1.TargetingPack ' + `
'--add Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools ' + `
'--add Microsoft.Net.Component.4.7.2.SDK ' + `
'--add Microsoft.Net.Component.4.7.2.TargetingPack ' + `
'--add Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools ' + `
'--add Microsoft.Net.Core.Component.SDK.1x ' + `
'--add Microsoft.NetCore.1x.ComponentGroup.Web ' + `
'--add Microsoft.VisualStudio.Component.Azure.Storage.AzCopy ' + `
'--add Microsoft.VisualStudio.Component.PowerShell.Tools ' + `
'--add Microsoft.VisualStudio.Component.VC.140 ' + `
'--add Component.Dotfuscator ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL.ARM ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL.ARM64 ' + `
'--add Microsoft.VisualStudio.Component.VC.ATLMFC ' + `
'--add Microsoft.VisualStudio.Component.VC.ClangC2 ' + `
'--add Microsoft.VisualStudio.Component.VC.CLI.Support ' + `
'--add Microsoft.VisualStudio.Component.VC.Modules.x86.x64 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.10240 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.10586 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.14393 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop ' + `
'--add Component.Unreal ' + `
'--add Component.Unreal.Android ' + `
'--add Component.Android.SDK23 ' + `
'--add Microsoft.VisualStudio.Component.TestTools.WebLoadTest ' + `
'--add Microsoft.VisualStudio.Web.Mvc4.ComponentGroup ' + `
'--add Component.Linux.CMake ' + `
'--add Microsoft.Component.PythonTools.UWP ' + `
'--remove Component.CPython3.x64 ' + `
'--add Microsoft.Component.VC.Runtime.OSSupport ' + `
'--add Microsoft.VisualStudio.Component.VC.Tools.ARM ' + `
'--add Microsoft.VisualStudio.ComponentGroup.UWP.VC ' + `
'--add Microsoft.VisualStudio.Component.VSSDK ' + `
'--add Microsoft.VisualStudio.Component.LinqToSql ' + `
'--add Microsoft.VisualStudio.Component.TestTools.CodedUITest ' + `
'--add Microsoft.VisualStudio.Component.TestTools.Core ' + `
'--add Microsoft.VisualStudio.Component.TypeScript.2.0 ' + `
'--add Microsoft.VisualStudio.Component.TypeScript.2.1 ' + `
'--add Microsoft.VisualStudio.Component.TypeScript.2.2 ' + `
'--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm ' + `
'--add Microsoft.VisualStudio.Component.DslTools ' + `
'--add Microsoft.VisualStudio.Component.Windows81SDK ' + `
'--add Microsoft.VisualStudio.Component.WinXP ' + `
'--add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81 ' + `
'--add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP ' + `
'--add Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Managed ' + `
'--add Microsoft.Component.Blend.SDK.WPF ' + `
'--add Microsoft.Component.VC.Runtime.UCRTSDK ' + `
'--add Microsoft.VisualStudio.Component.Sharepoint.BuildTools ' + `
'--add Microsoft.VisualStudio.Component.TeamOffice.BuildTools ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.17763 ' + `
'--add Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre '+ `
'--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.Workflow.BuildTools ' + `
'--add Microsoft.VisualStudio.Workload.Office ' + `
'--add Microsoft.VisualStudio.Workload.OfficeBuildTools '
$ReleaseInPath = "Enterprise"
$BootstrapperUrl = "https://aka.ms/vs/15/release/vs_${ReleaseInPath}.exe"
# Install VS # Install VS
Install-VisualStudio -BootstrapperUrl $BootstrapperUrl -WorkLoads $WorkLoads Install-VisualStudio -BootstrapperUrl $bootstrapperUrl -WorkLoads $workLoadsArgument
# Find the version of VS installed for this instance # Find the version of VS installed for this instance
# Only supports a single instance # Only supports a single instance
@@ -97,15 +31,14 @@ if ($instanceFolders -is [array])
exit 1 exit 1
} }
$catalogContent = Get-Content -Path ($instanceFolders.FullName + '\catalog.json') $visualStudioVersion = $toolset.visualStudio.version
$catalog = $catalogContent | ConvertFrom-Json $vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $releaseInPath
$version = $catalog.info.id
$VSInstallRoot = "C:\Program Files (x86)\Microsoft Visual Studio\2017\$ReleaseInPath"
Write-Host "Visual Studio version ${version} installed"
# Initialize Visual Studio Experimental Instance for integration testing # Initialize Visual Studio Experimental Instance for integration testing
& "$VSInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit | Wait-Process & "$vsInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit | Wait-Process
# Updating content of MachineState.json file to disable autoupdate of VSIX extensions # Updating content of MachineState.json file to disable autoupdate of VSIX extensions
$newContent = '{"Extensions":[{"Key":"1e906ff5-9da8-4091-a299-5c253c55fdc9","Value":{"ShouldAutoUpdate":false}},{"Key":"Microsoft.VisualStudio.Web.AzureFunctions","Value":{"ShouldAutoUpdate":false}}],"ShouldAutoUpdate":false,"ShouldCheckForUpdates":false}' $newContent = '{"Extensions":[{"Key":"1e906ff5-9da8-4091-a299-5c253c55fdc9","Value":{"ShouldAutoUpdate":false}},{"Key":"Microsoft.VisualStudio.Web.AzureFunctions","Value":{"ShouldAutoUpdate":false}}],"ShouldAutoUpdate":false,"ShouldCheckForUpdates":false}'
Set-Content -Path "$VSInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent Set-Content -Path "$vsInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent
Invoke-PesterTests -TestFile "VisualStudio"

View File

@@ -2,114 +2,23 @@
## File: Install-VS2019.ps1 ## File: Install-VS2019.ps1
## Desc: Install Visual Studio 2019 ## Desc: Install Visual Studio 2019
################################################################################ ################################################################################
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers -Force $toolset = Get-ToolsetContent
$requiredComponents = $toolset.visualStudio.workloads | ForEach-Object { "--add $_" }
$workLoads = @(
"--allWorkloads --includeRecommended"
$requiredComponents
"--remove Component.CPython3.x64"
)
$workLoadsArgument = [String]::Join(" ", $workLoads)
$WorkLoads = '--allWorkloads --includeRecommended ' + ` $releaseInPath = $toolset.visualStudio.edition
'--add Component.Dotfuscator ' + ` $bootstrapperUrl = "https://aka.ms/vs/16/release/vs_${releaseInPath}.exe"
'--add Component.Linux.CMake ' + `
'--add Component.UnityEngine.x64 ' + `
'--add Component.UnityEngine.x86 ' + `
'--add Component.Unreal.Android ' + `
'--add Microsoft.Component.Azure.DataLake.Tools ' + `
'--add Microsoft.Component.CookiecutterTools ' + `
'--add Microsoft.Component.PythonTools.Miniconda ' + `
'--add Microsoft.Component.PythonTools.Web ' + `
'--add Microsoft.Component.VC.Runtime.UCRTSDK ' + `
'--add Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools ' + `
'--add Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools ' + `
'--add Microsoft.Net.Component.4.7.2.SDK ' + `
'--add Microsoft.Net.Component.4.7.2.TargetingPack ' + `
'--add Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools ' + `
'--add Microsoft.Net.ComponentGroup.4.7.DeveloperTools ' + `
'--add Microsoft.VisualStudio.Component.AspNet45 ' + `
'--add Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools ' + `
'--add Microsoft.VisualStudio.Component.Azure.MobileAppsSdk ' + `
'--add Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools ' + `
'--add Microsoft.VisualStudio.Component.Azure.Storage.AzCopy ' + `
'--add Microsoft.VisualStudio.Component.Debugger.JustInTime ' + `
'--add Microsoft.VisualStudio.Component.DslTools ' + `
'--add Microsoft.VisualStudio.Component.EntityFramework ' + `
'--add Microsoft.VisualStudio.Component.FSharp.Desktop ' + `
'--add Microsoft.VisualStudio.Component.LinqToSql ' + `
'--add Microsoft.VisualStudio.Component.SQL.SSDT ' + `
'--add Microsoft.VisualStudio.Component.PortableLibrary ' + `
'--add Microsoft.VisualStudio.Component.Sharepoint.BuildTools ' + `
'--add Microsoft.VisualStudio.Component.TeamOffice ' + `
'--add Microsoft.VisualStudio.Component.TeamOffice.BuildTools ' + `
'--add Microsoft.VisualStudio.Component.TestTools.CodedUITest ' + `
'--add Microsoft.VisualStudio.Component.TestTools.WebLoadTest ' + `
'--add Microsoft.VisualStudio.Component.UWP.VC.ARM64 ' + `
'--add Microsoft.VisualStudio.Component.VC.140 ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL.ARM ' + `
'--add Microsoft.VisualStudio.Component.VC.ATLMFC ' + `
'--add Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.CLI.Support ' + `
'--add Microsoft.VisualStudio.Component.VC.CMake.Project ' + `
'--add Microsoft.VisualStudio.Component.VC.DiagnosticTools ' + `
'--add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset ' + `
'--add Microsoft.VisualStudio.Component.VC.MFC.ARM ' + `
'--add Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.MFC.ARM64 ' + `
'--add Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.Redist.MSM ' + `
'--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest ' + `
'--add Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest ' + `
'--add Microsoft.VisualStudio.Component.VC.v141 ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.x86.x64 ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ATL ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.MFC ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.14.25.x86.x64 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.16299 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.17763 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.18362 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.19041 ' + `
'--add Microsoft.VisualStudio.Component.WinXP ' + `
'--add Microsoft.VisualStudio.Component.Workflow.BuildTools ' + `
'--add Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices ' + `
'--add Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools ' + `
'--add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang ' + `
'--add Microsoft.VisualStudio.ComponentGroup.Web.CloudTools ' + `
'--add Microsoft.VisualStudio.Workload.Azure ' + `
'--add Microsoft.VisualStudio.Workload.Data ' + `
'--add Microsoft.VisualStudio.Workload.DataScience ' + `
'--add Microsoft.VisualStudio.Workload.ManagedDesktop ' + `
'--add Microsoft.VisualStudio.Workload.ManagedGame ' + `
'--add Microsoft.VisualStudio.Workload.NativeCrossPlat ' + `
'--add Microsoft.VisualStudio.Workload.NativeDesktop ' + `
'--add Microsoft.VisualStudio.Workload.NativeGame ' + `
'--add Microsoft.VisualStudio.Workload.NativeMobile ' + `
'--add Microsoft.VisualStudio.Workload.NetCoreTools ' + `
'--add Microsoft.VisualStudio.Workload.NetCrossPlat ' + `
'--add Microsoft.VisualStudio.Workload.NetWeb ' + `
'--add Microsoft.VisualStudio.Workload.Node ' + `
'--add Microsoft.VisualStudio.Workload.Office ' + `
'--add Microsoft.VisualStudio.Workload.Python ' + `
'--remove Component.CPython3.x64 ' + `
'--add Microsoft.VisualStudio.Workload.Universal ' + `
'--add Microsoft.VisualStudio.Workload.VisualStudioExtension ' + `
'--add Component.MDD.Linux ' + `
'--add Component.MDD.Linux.GCC.arm'
$ReleaseInPath = "Enterprise"
$BootstrapperUrl = "https://aka.ms/vs/16/release/vs_${ReleaseInPath}.exe"
# Install VS # Install VS
Install-VisualStudio -BootstrapperUrl $BootstrapperUrl -WorkLoads $WorkLoads Install-VisualStudio -BootstrapperUrl $bootstrapperUrl -WorkLoads $workLoadsArgument
# Find the version of VS installed for this instance # Find the version of VS installed for this instance
# Only supports a single instance # Only supports a single instance
@@ -122,18 +31,15 @@ if ($instanceFolders -is [array])
exit 1 exit 1
} }
$catalogContent = Get-Content -Path ($instanceFolders.FullName + '\catalog.json') $visualStudioVersion = $toolset.visualStudio.version
$catalog = $catalogContent | ConvertFrom-Json $vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $releaseInPath
$version = $catalog.info.id
$VSInstallRoot = "C:\Program Files (x86)\Microsoft Visual Studio\2019\$ReleaseInPath"
Write-Host "Visual Studio version ${version} installed"
# Initialize Visual Studio Experimental Instance # Initialize Visual Studio Experimental Instance
& "$VSInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit & "$vsInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit
# Updating content of MachineState.json file to disable autoupdate of VSIX extensions # Updating content of MachineState.json file to disable autoupdate of VSIX extensions
$newContent = '{"Extensions":[{"Key":"1e906ff5-9da8-4091-a299-5c253c55fdc9","Value":{"ShouldAutoUpdate":false}},{"Key":"Microsoft.VisualStudio.Web.AzureFunctions","Value":{"ShouldAutoUpdate":false}}],"ShouldAutoUpdate":false,"ShouldCheckForUpdates":false}' $newContent = '{"Extensions":[{"Key":"1e906ff5-9da8-4091-a299-5c253c55fdc9","Value":{"ShouldAutoUpdate":false}},{"Key":"Microsoft.VisualStudio.Web.AzureFunctions","Value":{"ShouldAutoUpdate":false}}],"ShouldAutoUpdate":false,"ShouldCheckForUpdates":false}'
Set-Content -Path "$VSInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent Set-Content -Path "$vsInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent
# Install Windows 10 SDK version 10.0.14393.795 # Install Windows 10 SDK version 10.0.14393.795
$sdkUrl = "https://go.microsoft.com/fwlink/p/?LinkId=838916" $sdkUrl = "https://go.microsoft.com/fwlink/p/?LinkId=838916"
@@ -141,3 +47,5 @@ $sdkFileName = "sdksetup14393.exe"
$argumentList = ("/q", "/norestart", "/ceip off", "/features OptionId.WindowsSoftwareDevelopmentKit") $argumentList = ("/q", "/norestart", "/ceip off", "/features OptionId.WindowsSoftwareDevelopmentKit")
Install-Binary -Url $sdkUrl -Name $sdkFileName -ArgumentList $argumentList Install-Binary -Url $sdkUrl -Name $sdkFileName -ArgumentList $argumentList
Invoke-PesterTests -TestFile "VisualStudio"

View File

@@ -0,0 +1,27 @@
Describe "Visual Studio" {
Context "Basic" {
It "Catalog.json" {
Get-VsCatalogJsonPath | Should -Exist
}
It "Devenv.exe" {
$visualStudioEdition = Get-ToolsetContent | Select-Object -ExpandProperty visualStudio | Select-Object -ExpandProperty edition
$visualStudioVersion = Get-ToolsetContent | Select-Object -ExpandProperty visualStudio | Select-Object -ExpandProperty version
$vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $visualStudioEdition
$devenvexePath = "${vsInstallRoot}\Common7\IDE\devenv.exe"
$devenvexePath | Should -Exist
}
}
Context "Visual Studio components" {
$expectedComponents = Get-ToolsetContent | Select-Object -ExpandProperty visualStudio | Select-Object -ExpandProperty workloads
$testCases = $expectedComponents | ForEach-Object { @{ComponentName = $_} }
BeforeAll {
$installedComponents = Get-VisualStudioComponents | Select-Object -ExpandProperty Package
}
It "<ComponentName>" -TestCases $testCases {
$installedComponents | Should -Contain $ComponentName
}
}
}

View File

@@ -1,146 +1,220 @@
{ {
"toolcache": [ "toolcache": [
{ {
"name": "Python", "name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
"arch": "x64", "arch": "x64",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"2.7.*", "2.7.*",
"3.5.*", "3.5.*",
"3.6.*", "3.6.*",
"3.7.*", "3.7.*",
"3.8.*" "3.8.*"
], ],
"default": "3.7.*" "default": "3.7.*"
}, },
{ {
"name": "Python", "name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
"arch": "x86", "arch": "x86",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"2.7.*", "2.7.*",
"3.5.*", "3.5.*",
"3.6.*", "3.6.*",
"3.7.*", "3.7.*",
"3.8.*" "3.8.*"
] ]
}, },
{ {
"name": "PyPy", "name": "PyPy",
"arch": "x86", "arch": "x86",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"2.7", "2.7",
"3.6" "3.6"
] ]
}, },
{ {
"name": "node", "name": "node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
"arch": "x64", "arch": "x64",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"8.*", "8.*",
"10.*", "10.*",
"12.*", "12.*",
"14.*" "14.*"
] ]
}, },
{ {
"name": "go", "name": "go",
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
"arch": "x64", "arch": "x64",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"1.9.*", "1.9.*",
"1.10.*", "1.10.*",
"1.11.*", "1.11.*",
"1.12.*", "1.12.*",
"1.13.*", "1.13.*",
"1.14.*" "1.14.*"
], ],
"default": "1.14.*" "default": "1.14.*"
}, },
{ {
"name": "Boost", "name": "Boost",
"url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json",
"arch": "x86_64", "arch": "x86_64",
"platform" : "win32", "platform" : "win32",
"toolset": "msvc14.1", "toolset": "msvc14.1",
"versions": [ "versions": [
"1.69.0", "1.69.0",
"1.72.0" "1.72.0"
] ]
} }
], ],
"azureModules": [ "azureModules": [
{ {
"name": "azurerm", "name": "azurerm",
"versions": [ "versions": [
"2.1.0", "2.1.0",
"3.8.0", "3.8.0",
"4.2.1", "4.2.1",
"5.1.1", "5.1.1",
"6.7.0", "6.7.0",
"6.13.1" "6.13.1"
], ],
"default": "2.1.0" "default": "2.1.0"
}, },
{ {
"name": "azure", "name": "azure",
"versions": [ "versions": [
"2.1.0", "2.1.0",
"3.8.0", "3.8.0",
"4.2.1", "4.2.1",
"5.1.1", "5.1.1",
"5.3.0" "5.3.0"
], ],
"default": "2.1.0" "default": "2.1.0"
}, },
{ {
"name": "az", "name": "az",
"versions": [ "versions": [
"1.0.0", "1.0.0",
"1.6.0", "1.6.0",
"2.3.2", "2.3.2",
"2.6.0", "2.6.0",
"3.1.0", "3.1.0",
"3.5.0", "3.5.0",
"3.8.0", "3.8.0",
"4.3.0", "4.3.0",
"4.4.0" "4.4.0"
] ]
} }
], ],
"android": { "android": {
"platform_list": [ "platform_list": [
"android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19" "android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19"
], ],
"build_tools": [ "build_tools": [
"30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0" "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0"
], ],
"extra_list": [ "extra_list": [
"android;m2repository", "android;m2repository",
"google;m2repository", "google;m2repository",
"google;google_play_services", "google;google_play_services",
"m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2",
"m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1",
"m2repository;com;android;support;constraint;constraint-layout;1.0.2", "m2repository;com;android;support;constraint;constraint-layout;1.0.2",
"m2repository;com;android;support;constraint;constraint-layout;1.0.1" "m2repository;com;android;support;constraint;constraint-layout;1.0.1"
], ],
"addon_list": [ "addon_list": [
"addon-google_apis-google-24", "addon-google_apis-google-24",
"addon-google_apis-google-23", "addon-google_apis-google-23",
"addon-google_apis-google-22", "addon-google_apis-google-22",
"addon-google_apis-google-21" "addon-google_apis-google-21"
], ],
"additional_tools": [ "additional_tools": [
"cmake;3.6.4111459", "cmake;3.6.4111459",
"cmake;3.10.2.4988404", "cmake;3.10.2.4988404",
"patcher;v4", "patcher;v4",
"ndk-bundle" "ndk-bundle"
] ]
} },
"visualStudio": {
"version" : "2017",
"edition" : "Enterprise",
"workloads": [
"Microsoft.Net.Component.4.6.2.SDK",
"Microsoft.Net.Component.4.6.2.TargetingPack",
"Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools",
"Microsoft.Net.Component.4.7.SDK",
"Microsoft.Net.Component.4.7.TargetingPack",
"Microsoft.Net.ComponentGroup.4.7.DeveloperTools",
"Microsoft.Net.Component.4.7.1.SDK",
"Microsoft.Net.Component.4.7.1.TargetingPack",
"Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools",
"Microsoft.Net.Component.4.7.2.SDK",
"Microsoft.Net.Component.4.7.2.TargetingPack",
"Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools",
"Microsoft.Net.Core.Component.SDK.1x",
"Microsoft.NetCore.1x.ComponentGroup.Web",
"Microsoft.VisualStudio.Component.Azure.Storage.AzCopy",
"Microsoft.VisualStudio.Component.VC.140",
"Component.Dotfuscator",
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.ATL.ARM",
"Microsoft.VisualStudio.Component.VC.ATL.ARM64",
"Microsoft.VisualStudio.Component.VC.ATLMFC",
"Microsoft.VisualStudio.Component.VC.ClangC2",
"Microsoft.VisualStudio.Component.VC.CLI.Support",
"Microsoft.VisualStudio.Component.VC.Modules.x86.x64",
"Microsoft.VisualStudio.Component.Windows10SDK.10240",
"Microsoft.VisualStudio.Component.Windows10SDK.10586",
"Microsoft.VisualStudio.Component.Windows10SDK.14393",
"Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop",
"Component.Unreal",
"Component.Unreal.Android",
"Component.Android.SDK23",
"Microsoft.VisualStudio.Component.TestTools.WebLoadTest",
"Microsoft.VisualStudio.Web.Mvc4.ComponentGroup",
"Component.Linux.CMake",
"Microsoft.Component.PythonTools.UWP",
"Microsoft.Component.VC.Runtime.OSSupport",
"Microsoft.VisualStudio.Component.VC.Tools.ARM",
"Microsoft.VisualStudio.ComponentGroup.UWP.VC",
"Microsoft.VisualStudio.Component.VSSDK",
"Microsoft.VisualStudio.Component.LinqToSql",
"Microsoft.VisualStudio.Component.TestTools.CodedUITest",
"Microsoft.VisualStudio.Component.TestTools.Core",
"Microsoft.VisualStudio.Component.TypeScript.2.0",
"Microsoft.VisualStudio.Component.TypeScript.2.1",
"Microsoft.VisualStudio.Component.TypeScript.2.2",
"Microsoft.VisualStudio.Component.VC.Tools.ARM64",
"Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm",
"Microsoft.VisualStudio.Component.DslTools",
"Microsoft.VisualStudio.Component.Windows81SDK",
"Microsoft.VisualStudio.Component.WinXP",
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81",
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP",
"Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Managed",
"Microsoft.Component.Blend.SDK.WPF",
"Microsoft.Component.VC.Runtime.UCRTSDK",
"Microsoft.VisualStudio.Component.Sharepoint.Tools",
"Microsoft.VisualStudio.Component.TeamOffice",
"Microsoft.VisualStudio.Component.VC.ATL.Spectre",
"Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre",
"Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre",
"Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre",
"Microsoft.VisualStudio.Component.Windows10SDK.17134",
"Microsoft.VisualStudio.Component.Windows10SDK.17763",
"Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre",
"Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre",
"Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre",
"Microsoft.VisualStudio.Component.Workflow",
"Microsoft.VisualStudio.Workload.Office"
]
}
} }

View File

@@ -1,155 +1,251 @@
{ {
"toolcache": [ "toolcache": [
{ {
"name": "Python", "name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
"arch": "x64", "arch": "x64",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"2.7.*", "2.7.*",
"3.5.*", "3.5.*",
"3.6.*", "3.6.*",
"3.7.*", "3.7.*",
"3.8.*" "3.8.*"
], ],
"default": "3.7.*" "default": "3.7.*"
}, },
{ {
"name": "Python", "name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
"arch": "x86", "arch": "x86",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"2.7.*", "2.7.*",
"3.5.*", "3.5.*",
"3.6.*", "3.6.*",
"3.7.*", "3.7.*",
"3.8.*" "3.8.*"
] ]
}, },
{ {
"name": "PyPy", "name": "PyPy",
"arch": "x86", "arch": "x86",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"2.7", "2.7",
"3.6" "3.6"
] ]
}, },
{ {
"name": "node", "name": "node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
"arch": "x64", "arch": "x64",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"8.*", "8.*",
"10.*", "10.*",
"12.*", "12.*",
"14.*" "14.*"
] ]
}, },
{ {
"name": "go", "name": "go",
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
"arch": "x64", "arch": "x64",
"platform" : "win32", "platform" : "win32",
"versions": [ "versions": [
"1.9.*", "1.9.*",
"1.10.*", "1.10.*",
"1.11.*", "1.11.*",
"1.12.*", "1.12.*",
"1.13.*", "1.13.*",
"1.14.*" "1.14.*"
], ],
"default": "1.14.*" "default": "1.14.*"
}, },
{ {
"name": "Boost", "name": "Boost",
"url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json",
"arch": "x86_64", "arch": "x86_64",
"platform" : "win32", "platform" : "win32",
"toolset": "msvc14.1", "toolset": "msvc14.1",
"versions": [ "versions": [
"1.69.0" "1.69.0"
] ]
}, },
{ {
"name": "Boost", "name": "Boost",
"url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json",
"arch": "x86_64", "arch": "x86_64",
"platform" : "win32", "platform" : "win32",
"toolset": "msvc14.2", "toolset": "msvc14.2",
"versions": [ "versions": [
"1.72.0" "1.72.0"
] ]
} }
], ],
"azureModules": [ "azureModules": [
{ {
"name": "azurerm", "name": "azurerm",
"versions": [ "versions": [
"2.1.0", "2.1.0",
"3.8.0", "3.8.0",
"4.2.1", "4.2.1",
"5.1.1", "5.1.1",
"6.7.0", "6.7.0",
"6.13.1" "6.13.1"
], ],
"default": "2.1.0" "default": "2.1.0"
}, },
{ {
"name": "azure", "name": "azure",
"versions": [ "versions": [
"2.1.0", "2.1.0",
"3.8.0", "3.8.0",
"4.2.1", "4.2.1",
"5.1.1", "5.1.1",
"5.3.0" "5.3.0"
], ],
"default": "2.1.0" "default": "2.1.0"
}, },
{ {
"name": "az", "name": "az",
"versions": [ "versions": [
"1.0.0", "1.0.0",
"1.6.0", "1.6.0",
"2.3.2", "2.3.2",
"2.6.0", "2.6.0",
"3.1.0", "3.1.0",
"3.5.0", "3.5.0",
"3.8.0", "3.8.0",
"4.3.0", "4.3.0",
"4.4.0" "4.4.0"
] ]
} }
], ],
"android": { "android": {
"platform_list": [ "platform_list": [
"android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19" "android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19"
], ],
"build_tools": [ "build_tools": [
"30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0" "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0"
], ],
"extra_list": [ "extra_list": [
"android;m2repository", "android;m2repository",
"google;m2repository", "google;m2repository",
"google;google_play_services", "google;google_play_services",
"m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2",
"m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1",
"m2repository;com;android;support;constraint;constraint-layout;1.0.2", "m2repository;com;android;support;constraint;constraint-layout;1.0.2",
"m2repository;com;android;support;constraint;constraint-layout;1.0.1" "m2repository;com;android;support;constraint;constraint-layout;1.0.1"
], ],
"addon_list": [ "addon_list": [
"addon-google_apis-google-24", "addon-google_apis-google-24",
"addon-google_apis-google-23", "addon-google_apis-google-23",
"addon-google_apis-google-22", "addon-google_apis-google-22",
"addon-google_apis-google-21" "addon-google_apis-google-21"
], ],
"additional_tools": [ "additional_tools": [
"cmake;3.6.4111459", "cmake;3.6.4111459",
"cmake;3.10.2.4988404", "cmake;3.10.2.4988404",
"patcher;v4", "patcher;v4",
"ndk-bundle" "ndk-bundle"
] ]
} },
"visualStudio": {
"version" : "2019",
"edition" : "Enterprise",
"workloads": [
"Component.Dotfuscator",
"Component.Linux.CMake",
"Component.UnityEngine.x64",
"Component.Unreal.Android",
"Microsoft.Component.Azure.DataLake.Tools",
"Microsoft.Component.PythonTools.Miniconda",
"Microsoft.Component.PythonTools.Web",
"Microsoft.Component.VC.Runtime.UCRTSDK",
"Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools",
"Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools",
"Microsoft.Net.Component.4.7.2.SDK",
"Microsoft.Net.Component.4.7.2.TargetingPack",
"Microsoft.Net.ComponentGroup.4.7.DeveloperTools",
"Microsoft.VisualStudio.Component.AspNet45",
"Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools",
"Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools",
"Microsoft.VisualStudio.Component.Azure.Storage.AzCopy",
"Microsoft.VisualStudio.Component.Debugger.JustInTime",
"Microsoft.VisualStudio.Component.DslTools",
"Microsoft.VisualStudio.Component.EntityFramework",
"Microsoft.VisualStudio.Component.FSharp.Desktop",
"Microsoft.VisualStudio.Component.LinqToSql",
"Microsoft.VisualStudio.Component.SQL.SSDT",
"Microsoft.VisualStudio.Component.Sharepoint.Tools",
"Microsoft.VisualStudio.Component.PortableLibrary",
"Microsoft.VisualStudio.Component.TeamOffice",
"Microsoft.VisualStudio.Component.TestTools.CodedUITest",
"Microsoft.VisualStudio.Component.TestTools.WebLoadTest",
"Microsoft.VisualStudio.Component.UWP.VC.ARM64",
"Microsoft.VisualStudio.Component.VC.140",
"Microsoft.VisualStudio.Component.VC.ATL.ARM",
"Microsoft.VisualStudio.Component.VC.ATLMFC",
"Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre",
"Microsoft.VisualStudio.Component.VC.CLI.Support",
"Microsoft.VisualStudio.Component.VC.CMake.Project",
"Microsoft.VisualStudio.Component.VC.DiagnosticTools",
"Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset",
"Microsoft.VisualStudio.Component.VC.MFC.ARM",
"Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre",
"Microsoft.VisualStudio.Component.VC.MFC.ARM64",
"Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre",
"Microsoft.VisualStudio.Component.VC.Redist.MSM",
"Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre",
"Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre",
"Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre",
"Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest",
"Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest",
"Microsoft.VisualStudio.Component.VC.v141.x86.x64",
"Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre",
"Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre",
"Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre",
"Microsoft.VisualStudio.Component.VC.v141.ATL",
"Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre",
"Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre",
"Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre",
"Microsoft.VisualStudio.Component.VC.v141.MFC",
"Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre",
"Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre",
"Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre",
"Microsoft.VisualStudio.Component.VC.14.25.x86.x64",
"Microsoft.VisualStudio.Component.Windows10SDK.16299",
"Microsoft.VisualStudio.Component.Windows10SDK.17134",
"Microsoft.VisualStudio.Component.Windows10SDK.17763",
"Microsoft.VisualStudio.Component.Windows10SDK.18362",
"Microsoft.VisualStudio.Component.Windows10SDK.19041",
"Microsoft.VisualStudio.Component.WinXP",
"Microsoft.VisualStudio.Component.Workflow",
"Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices",
"Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools",
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang",
"Microsoft.VisualStudio.ComponentGroup.Web.CloudTools",
"Microsoft.VisualStudio.Workload.Azure",
"Microsoft.VisualStudio.Workload.Data",
"Microsoft.VisualStudio.Workload.DataScience",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.ManagedGame",
"Microsoft.VisualStudio.Workload.NativeCrossPlat",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NativeGame",
"Microsoft.VisualStudio.Workload.NativeMobile",
"Microsoft.VisualStudio.Workload.NetCoreTools",
"Microsoft.VisualStudio.Workload.NetCrossPlat",
"Microsoft.VisualStudio.Workload.NetWeb",
"Microsoft.VisualStudio.Workload.Node",
"Microsoft.VisualStudio.Workload.Office",
"Microsoft.VisualStudio.Workload.Python",
"Microsoft.VisualStudio.Workload.Universal",
"Microsoft.VisualStudio.Workload.VisualStudioExtension",
"Component.MDD.Linux",
"Component.MDD.Linux.GCC.arm"
]
}
} }