Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Fast acquisition of vswhere

I introduced vswhere last week as an easy means to locate Visual Studio 2017 and newer, along with other products installed with our new installer that provides faster downloads and installs – even for full installs (which has roughly doubled in size with lots of new third-party content).

vswhere Available

After feedback on the VSSetup PowerShell module to query Visual Studio 2017 and related products, I’m pleased to say that a native, single-file executable is available on GitHub: vswhere. The VSSetup PowerShell module is also available on GitHub and provides a number of benefits for PowerShell scripts,

Visual Studio Setup PowerShell Module Available

To make the new setup configuration APIs more accessible to developers, we have published the “VSSetup” PowerShell module on, making it quick and easy to install.
If you have Windows Management Framework (WMF) 5.0 or newer – installed with Windows 10 –

Documentation available for the Setup Configuration API

Visual Studio 2017 has brought big changes to extensibility that allow developers to install extensions to different instances and install dependencies. In support of multiple instances, a fast API was required that tools can use to find and launch Visual Studio and related tools,

Changes to Visual Studio “15” Setup

We’ve listened to feedback over the years, and while each new release brought changes to the setup experience of Visual Studio and related products, none have been more significant than what we’re doing for Visual Studio “15”.
New setup engine
With Visual Studio supporting so many platforms and toolkits,

Insert GUIDs directly into Visual Studio Code

Let me preface this by stating I love Visual Studio Code! While I think its big, older brother Visual Studio is great for large solutions or even small projects where project files are managed automatically by the IDE, Code work great for small,

Failure when upgrading from VS2015 RTM to VS2015 with Update 1

If you have Visual Studio 2015 RTM installed and attempt to install Visual Studio 2015 with Update 1, you may see a failure like the screenshot that reads,

KB3022398 This action is only valid for products that are currently installed.

This is a fatal error that occurs when upgrading from VS 2015 RTM to the VS 2015 slipstream release.

Removing Visual Studio components left behind after an uninstall

When you install Visual Studio and related content like Windows Kits or some add-ons, most packages that comprise those bundles are reference counted to make sure they are not removed prematurely. Uninstalling Visual Studio and related content should eventually remove those packages (i.e.


Configure Visual Studio across your organization with .vsconfig

Add a .vsconfig file to your solution root directory to configure Visual Studio consistently across your organization.

Older versions of Visual Studio 2017 will not install in Windows Server 2019 containers

If you try to install Build Tools for Visual Studio 2017 into a Windows Server 2019 or newer container image, such as or, the install will quickly terminate without error and without installing anything. This is due, in part,

Workaround for 0x8007007e when trying to to locate an instance of Visual Studio

We are investigating how a particular rare problem occurs that can prevent clients like VSIXInstaller.exe, vswhere.exe, and others from finding any Visual Studio instance that results in an error similar to the following:

This is the CLSID for the Visual Studio Installer query API,

Docker recipes available for Visual Studio Build Tools

Use or contribute your own Dockerfiles on GitHub to help others build similar workloads with Visual Studio Build Tools.

No container image for Build Tools for Visual Studio 2017

The size and permutations of Build Tools 2017 container images are too great to publish official images, but here's how you can create your own tailored images.

vswhere now supports -utf8 to override console code page

You can now force vswhere to output JSON using the UTF-8 encoding.

Updated documentation for Visual Studio Build Tools container

The .NET Framework may not be correctly installed into a Windows Server Core container, and managed code - like the compilers - may fail. The documentation was updated with how to work around this.

vswhere now supports -requiresAny to find instances with one or more components installed

You can now use -requiresAny with vswhere to specify that any component ID passed to -requires will satisfy the query.

Set both x86 and x64 registry views for custom setup policy

Due to a bug in older versions of Visual Studio 2017, you should set the CachePath policy in both 32- and 64-bit views of the registry.

How to install Builds Tools in a Docker container

Preview new documentation for how to install Build Tools for Visual Studio 2017 into a Docker container.