VS2017 Community .vsconfig file – Visual Studio Community workload and component IDs | Microsoft Docs
Posted by jpluimers on 2021/03/10
When I need to find out what components match my below installed .vsconfig component IDs for Visual Studio 2017 community edition, I can find them in: [WayBack] Visual Studio Community workload and component IDs | Microsoft Docs: Use workload and component IDs to install Visual Studio by using the command line or to specify as a dependency in a VSIX manifest.
{ "version": "1.0", "components": [ "Microsoft.VisualStudio.Workload.ManagedDesktop", "Microsoft.VisualStudio.Workload.NativeDesktop", "Microsoft.VisualStudio.Workload.Universal", "Microsoft.VisualStudio.Workload.NetWeb", "Microsoft.VisualStudio.Workload.Azure", "Microsoft.VisualStudio.Workload.Python", "Microsoft.VisualStudio.Workload.Node", "Microsoft.VisualStudio.Workload.Office", "Microsoft.VisualStudio.Workload.NetCrossPlat", "Microsoft.VisualStudio.Workload.VisualStudioExtension", "Microsoft.VisualStudio.Workload.NativeCrossPlat", "Microsoft.VisualStudio.Workload.NetCoreTools", "microsoft.net.componentgroup.targetingpacks.common", "microsoft.visualstudio.component.entityframework", "microsoft.visualstudio.component.debugger.justintime", "microsoft.visualstudio.component.vc.diagnostictools", "microsoft.visualstudio.component.vc.cmake.project", "microsoft.visualstudio.component.vc.atl", "microsoft.visualstudio.component.vc.testadapterforboosttest", "microsoft.visualstudio.component.vc.testadapterforgoogletest", "microsoft.visualstudio.componentgroup.web.cloudtools", "microsoft.visualstudio.component.aspnet45", "microsoft.component.azure.datalake.tools", "microsoft.visualstudio.componentgroup.azure.resourcemanager.tools", "microsoft.visualstudio.componentgroup.azure.cloudservices", "microsoft.visualstudio.component.azure.mobileappssdk", "microsoft.visualstudio.component.azure.servicefabric.tools", "microsoft.component.cookiecuttertools", "microsoft.component.pythontools.web", "component.cpython3.x64", "microsoft.visualstudio.component.teamoffice", "component.google.android.emulator.api27", "component.linux.cmake" ] }
This comes in very useful when installing Visual Studio 2017 through chocolatey:
chocolatey install -yes visualstudio2017community :: "Microsoft.VisualStudio.Workload.ManagedDesktop", chocolatey install -yes visualstudio2017-workload-manageddesktop :: "Microsoft.VisualStudio.Workload.NativeDesktop", chocolatey install -yes visualstudio2017-workload-nativedesktop :: "Microsoft.VisualStudio.Workload.Universal", chocolatey install -yes visualstudio2017-workload-universal :: "Microsoft.VisualStudio.Workload.NetWeb", chocolatey install -yes visualstudio2017-workload-netweb :: "Microsoft.VisualStudio.Workload.Azure", chocolatey install -yes visualstudio2017-workload-azure :: "Microsoft.VisualStudio.Workload.Python", chocolatey install -yes visualstudio2017-workload-python :: "Microsoft.VisualStudio.Workload.Node", chocolatey install -yes visualstudio2017-workload-node :: "Microsoft.VisualStudio.Workload.Office", chocolatey install -yes visualstudio2017-workload-office :: "Microsoft.VisualStudio.Workload.NetCrossPlat", chocolatey install -yes visualstudio2017-workload-netcrossplat :: "Microsoft.VisualStudio.Workload.VisualStudioExtension", chocolatey install -yes visualstudio2017-workload-visualstudioextension :: "Microsoft.VisualStudio.Workload.NativeCrossPlat", chocolatey install -yes visualstudio2017-workload-nativecrossplat :: "Microsoft.VisualStudio.Workload.NetCoreTools", chocolatey install -yes visualstudio2017-workload-netcoretools
Visual Studio 2017 related Packages I still need to research from [WayBack] GitHub – jberezanski/ChocolateyPackages: Chocolatey packages maintained by me:
- chocolatey-visualstudio.extension
- visualstudio2017buildtools (create MSBuild based applications without then eed for an IDE)
- visualstudio2017-workload-azurebuildtools
- visualstudio2017-workload-manageddesktopbuildtools
- visualstudio2017-workload-netcorebuildtools
- visualstudio2017-workload-nodebuildtools
- visualstudio2017-workload-officebuildtools
- visualstudio2017-workload-universalbuildtools
- visualstudio2017-workload-vctools
- visualstudio2017-workload-visualstudioextensionbuildtools
- visualstudio2017-installer
- visualstudio2017-performancetools
- visualstudio2017-remotetools
- enterprise/professional/community workloads
- visualstudio2017feedbackclient
- visualstudio2017sql
- visualstudio2017teamexplorer
- visualstudio2017testagent
- visualstudio2017testcontroller
- visualstudio2017testprofessional
–jeroen
References:
https://github.com/jberezanski/ChocolateyPackages/issues/25
- [WayBack] The term ‘x86’ is not recognized… · Issue #25 · jberezanski/ChocolateyPackages · GitHub
- [WayBack] ChocolateyPackages/chocolatey-visualstudio.extension at master · jberezanski/ChocolateyPackages · GitHub
- [WayBack] ChocolateyPackages/EXAMPLES.md at master · jberezanski/ChocolateyPackages · GitHub
- [WayBack] Use command-line parameters to install Visual Studio | Microsoft Docs
- [WayBack] gist.github.com/cjuroz/7bff0e0be1bd307cfabdedffd1622136
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ## USAGE EXAMPLES | |
| # installs CoreEditor (the IDE), ManagedDesktop (.NET framework applications), NetCoreTools (.NET core applications), NetWeb (ASP.NET) + active product using provided Product Key | |
| # choco install visualstudio2017enterprise.pls -y –params "/Features:Microsoft.VisualStudio.Workload.CoreEditor,Microsoft.VisualStudio.Workload.ManagedDesktop,Microsoft.VisualStudio.Workload.NetCoreTools,Microsoft.VisualStudio.Workload.NetWeb /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" | |
| # silent bare minimum installation with product key activation. The minimum installation contains only the Core Editor workload (Microsoft.VisualStudio.Workload.CoreEditor) | |
| # choco install visualstudio2017enterprise.pls -y –params "/ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" | |
| # silent bare minimum installation without product key activation | |
| # choco install visualstudio2017enterprise.pls -y | |
| # Parse input argument string into a hashtable | |
| # Format: /InstallPath:path location /Features:Microsoft.VisualStudio.Workload.CoreEditor,Microsoft.VisualStudio.Workload.ManagedDesktop /ProductKey:AB-D1 | |
| function Parse-Parameters ($s) | |
| { | |
| $parameters = @{ } | |
| if (!$s) | |
| { | |
| Write-Debug "No package parameters." | |
| return $parameters | |
| } | |
| Write-Debug "Package parameters: $s" | |
| $s = ' ' + $s | |
| [String[]] $kvpPrefix = @(" /") | |
| $kvpDelimiter = ':' | |
| $kvps = $s.Split($kvpPrefix, [System.StringSplitOptions]::RemoveEmptyEntries) | |
| foreach ($kvp in $kvps) | |
| { | |
| Write-Debug "Package parameter kvp: $kvp" | |
| $delimiterIndex = $kvp.IndexOf($kvpDelimiter) | |
| if (($delimiterIndex -le 0) -or ($delimiterIndex -ge ($kvp.Length – 1))) { continue } | |
| $key = $kvp.Substring(0, $delimiterIndex).Trim().ToLower() | |
| if ($key -eq '') { continue } | |
| $value = $kvp.Substring($delimiterIndex + 1).Trim() | |
| Write-Debug "Package parameter: key=$key, value=$value" | |
| $parameters.Add($key, $value) | |
| } | |
| return $parameters | |
| } | |
| function Generate-Install-Arguments-String ($parameters) | |
| { | |
| $s = "–includeRecommended –quiet –norestart –wait" | |
| $s += " –addProductLang en-US –add Microsoft.VisualStudio.Workload.CoreEditor" | |
| # –add Microsoft.VisualStudio.Workload.ManagedDesktop –add Microsoft.VisualStudio.Workload.NetCoreTools –add Microsoft.VisualStudio.Workload.NetWeb | |
| $features = $parameters['Features'] | |
| if ($features) | |
| { | |
| foreach ($f in $features.Split(',')) | |
| { | |
| $s += " –add " | |
| $s += $f.Trim() | |
| } | |
| } | |
| $rpp = '& "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\StorePID.exe"' | |
| $ip = $parameters['InstallPath'] | |
| if ($ip) | |
| { | |
| $s += " –installPath `"$ip`"" | |
| $rpp = "& `"$($ip.Trim('\'))" + "\Common7\IDE\StorePID.exe`"" | |
| } | |
| $pk = $parameters['ProductKey'] | |
| if ($pk) | |
| { | |
| $s += " –productKey $pk" | |
| $parameters.Add('RegisterProduct', "$rpp $pk 08860") | |
| } | |
| return $s | |
| } | |
| $vendor = "microsoft" | |
| $product = "visualstudio" | |
| $packageName = $env:chocolateyPackageName | |
| $packageParameters = Parse-Parameters $env:chocolateyPackageParameters | |
| $silentArgs = Generate-Install-Arguments-String $packageParameters | |
| $uncPath = "\\SERVER\tools\microsoft\visualstudio\2017\mu_visual_studio_enterprise_2017_x86_x64_10049783" | |
| $uncUser = "DOMAIN\user" | |
| $uncPassword = "password" | |
| $driveLetter = dir function:[d-z]: -n | ?{ !(test-path $_) } | random | |
| NET USE $driveLetter /D 2>null | |
| NET USE $driveLetter $uncPath /u:$uncUser $uncPassword | |
| $packageArgs = @{ | |
| packageName = $packageName | |
| fileType = 'exe' | |
| file = "$driveLetter\mu_visual_studio_enterprise_2017_x86_x64_10049783.exe" | |
| silentArgs = $silentArgs | |
| validExitCodes= @(0, 3010) | |
| } | |
| Write-Debug "Arguments used for $packageName`: $silentArgs" | |
| Install-ChocolateyInstallPackage @packageArgs | |
| NET USE $driveLetter /D 2>null | |
| $rp = $packageParameters['RegisterProduct'] | |
| if ($rp) | |
| { | |
| Write-Debug "Register product using command line ($rp)" | |
| Invoke-Expression $rp | |
| } |






Leave a comment