PowerShell module to interact with Visual Studio Setup
This PowerShell module contains cmdlets to query instances of Visual Studio 2017 and newer. It also serves as a more useful sample of using the Setup Configuration APIs than the previously published samples though those also have samples using VB and VC++.
With Windows Management Framework 5.0 or newer (which installs PowerShell and comes with Windows 10), or PowerShellGet for PowerShell 3.0 or 4.0, you can download and install this module easily.
Install-Module VSSetup -Scope CurrentUser
To install for all users, pass
CurrentUser, or just leave the
-Scopeparameter out of the command entirely.
You can also download the ZIP package from the Releases page on this project site and extract to a directory named VSSetup under a directory in your
Expand-Archive VSSetup.zip "$([Environment]::GetFolderPath("MyDocuments"))\WindowsPowerShell\Modules\VSSetup"
You can query all usable instances of Visual Studio and other products installed by the Visual Studio installer.
To get the instance for a specific installation directory, you can run the following.
Get-VSSetupInstance 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community'
If you want to select the latest instance that contains the .NET desktop development workload, you can pipe all instances - usable or not - to
Select-VSSetupInstancethat provides more fine grain control over which instances you enumerate.
Get-VSSetupInstance -All | Select-VSSetupInstance -Require 'Microsoft.VisualStudio.Workload.ManagedDesktop' -Latest
To file issues or suggestions, please use the Issues page for this project on GitHub.
This project is licensed under the MIT license.