Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Latest posts

Configure Visual Studio across your organization with .vsconfig
Apr 3, 2019
Post comments count 18
Post likes count 2

Configure Visual Studio across your organization with .vsconfig

Heath Stewart
Heath Stewart

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
Dec 10, 2018
Post comments count 0
Post likes count 0

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

Heath Stewart
Heath Stewart

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, to changes to the Windows Server container image to reduce size and improve startup performance. To install into Windows Server Core 2019 or newer, please download Visual Studio 2017 version 15.9 or newer, including Visual Studio 2019 Preview 1. Note: all previous Windows container images are now available in the Microsoft Container Registry (MCR), and all new container images includ...

Workaround for 0x8007007e when trying to to locate an instance of Visual Studio
Nov 14, 2018
Post comments count 0
Post likes count 0

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

Heath Stewart
Heath Stewart

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, and despite being registered the COM server DLL is missing. Workaround The easiest way to work around this problem is to repair any instance of Visual Studio. Warning: this will reset your Visual Studio settings: Along with resetting your Visual Studio settings, this can take quite a while to complete. A faster wa...

Docker recipes available for Visual Studio Build Tools
Aug 8, 2018
Post comments count 0
Post likes count 0

Docker recipes available for Visual Studio Build Tools

Heath Stewart
Heath Stewart

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
Jun 14, 2018
Post comments count 0
Post likes count 0

No container image for Build Tools for Visual Studio 2017

Heath Stewart
Heath Stewart

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
Jun 13, 2018
Post comments count 0
Post likes count 0

vswhere now supports -utf8 to override console code page

Heath Stewart
Heath Stewart

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

Updated documentation for Visual Studio Build Tools container
Apr 18, 2018
Post comments count 0
Post likes count 0

Updated documentation for Visual Studio Build Tools container

Heath Stewart
Heath Stewart

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
Jan 25, 2018
Post comments count 0
Post likes count 0

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

Heath Stewart
Heath Stewart

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
Nov 8, 2017
Post comments count 0
Post likes count 0

Set both x86 and x64 registry views for custom setup policy

Heath Stewart
Heath Stewart

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
Oct 24, 2017
Post comments count 0
Post likes count 1

How to install Builds Tools in a Docker container

Heath Stewart
Heath Stewart

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

New vswhere: now with more properties!
Oct 12, 2017
Post comments count 1
Post likes count 0

New vswhere: now with more properties!

Heath Stewart
Heath Stewart

Read about all the new properties output by vswhere.

Installing Build Tools for Visual Studio 2017 in a Docker container
Sep 18, 2017
Post comments count 2
Post likes count 0

Installing Build Tools for Visual Studio 2017 in a Docker container

Heath Stewart
Heath Stewart

Follow this guidance to install Build Tools for Visual Studio 2017 into a Docker container and save the image for later.

Cleaning up corrupt Visual Studio instances
Sep 1, 2017
Post comments count 3
Post likes count 0

Cleaning up corrupt Visual Studio instances

Heath Stewart
Heath Stewart

When older versions of Visual Studio 2017 report an error about not being able to load the instance, follow these instructions to clean up corrupt instances and re-install.

vswhere version 2.0 released
Jun 24, 2017
Post comments count 0
Post likes count 0

vswhere version 2.0 released

Heath Stewart
Heath Stewart

A new major version of vswhere is released with the breaking change to filter out preview releases by default.

Disabling or moving the Visual Studio 2017 package cache is now generally available
May 10, 2017
Post comments count 0
Post likes count 0

Disabling or moving the Visual Studio 2017 package cache is now generally available

Heath Stewart
Heath Stewart

With the release of Visual Studio 2017 version 15.2, the ability to disable or move the package cache is now generally available and documented. Basically, payloads are removed after being installed or repaired, and we will download them again if ever needed (like when repairing the product instance). This does mean if you work offline and need to repair you will need to re-connect to the internet or from wherever you installed Visual Studio (like a network layout). See our release notes for more information about what's new in 15.2 and download today!

Documentation now live for moving or disabling the package cache
May 4, 2017
Post comments count 0
Post likes count 0

Documentation now live for moving or disabling the package cache

Heath Stewart
Heath Stewart

I previously wrote about moving or disabling the package cache for Visual Studio 2017, which is a feature in the latest preview of Visual Studio 2017 and will be generally available update 15.2 is released. We have now published the documentation along with related material for administrators or developers looking to take more control of their installations, including: If you're in the Preview channel please give the no-cache policy and send us feedback using the Feedback tool. If you're not in the Preview channel and interested in trying features early, please visit https://www.visualstudio.com/vs/pr...

vswhere is now installed with Visual Studio 2017
Apr 21, 2017
Post comments count 0
Post likes count 0

vswhere is now installed with Visual Studio 2017

Heath Stewart
Heath Stewart

Starting in the latest preview release of Visual Studio version 15.2 (26418.1-Preview), you can now find vswhere installed in "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer" (on 32-bit operating systems before Windows 10, you should use "%ProgramFiles%\Microsoft Visual Studio\Installer"). While I initially made vswhere.exe available via NuGet and Chocolatey for easy acquisition, some projects do not use package managers nor do most projects want to commit binaries to a git repository (since each version with little compression would be downloaded to every repo without a filter like git LFS). So starting...

Cleaning up the Visual Studio 2017 package cache
Apr 19, 2017
Post comments count 0
Post likes count 0

Cleaning up the Visual Studio 2017 package cache

Heath Stewart
Heath Stewart

With the ability to disable or move the package cache for Visual Studio 2017 and other products installed with the new installer, packages are removed for whatever instance(s) you are installing, modifying, or repairing. If you have a lot of instances and want to clean all of them up easily from the command line - perhaps scripting it for users in an organization - you can combine tools such as vswhere or the VSSetup PowerShell module with the installer at %ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe. Batch script with vswhere You can get the installation path for all instances and ...

Moving or disabling the package cache for Visual Studio 2017
Apr 17, 2017
Post comments count 0
Post likes count 0

Moving or disabling the package cache for Visual Studio 2017

Heath Stewart
Heath Stewart

In the latest preview release of Visual Studio we are introducing the ability to disable (or re-enable) the package cache, or move it to another drive. This can be done using the command line or the registry, which can be deployed on a domain using group policy. This will be generally available in Visual Studio in a few weeks - scheduled for the 15.2 update - but we want to give you a preview and collect feedback on the feature. Command line If you pass to the installer - even if just starting the installer - the cache policy is set to disable caching of packages, and any modification or repair of an instance wi...

vswhere now searches older versions of Visual Studio
Mar 11, 2017
Post comments count 0
Post likes count 0

vswhere now searches older versions of Visual Studio

Heath Stewart
Heath Stewart

One of the top requests I kept hearing for vswhere was to also search older versions of Visual Studio. You can now do that starting with the latest release. Even if you don't have Visual Studio 2017 or newer installed - which means the query API is not even registered - you can use vswhere to find the installation root directory for Visual Studio 2010 and newer. There are some caveats: All the other vswhere parameters that control the output format and selection still work. For example, if you wanted to find the path to the latest version of Visual Studio 2010 through Visual Studio 2014. O...

Fast acquisition of vswhere
Mar 5, 2017
Post comments count 0
Post likes count 0

Fast acquisition of vswhere

Heath Stewart
Heath Stewart

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 was designed to be a fast, small, single-file executable you could download and even redistribute in a build pipeline or for other uses. To make this easy to acquire, I've published both a NuGet package and made vswhere available via Chocolatey. [code gutter="false"]choco install vswhere vswhere -latest -products * -re...

vswhere Available
Feb 25, 2017
Post comments count 0
Post likes count 0

vswhere Available

Heath Stewart
Heath Stewart

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, but build tools and CMake and deployment scripts wanted a simple executable they could redistribute without spawning PowerShell. You can enumerate instances with optional demands on which products, workloads, and components; and on which versions you require. Results can be printed in a variety of formats - curren...

Visual Studio Setup PowerShell Module Available
Jan 25, 2017
Post comments count 0
Post likes count 0

Visual Studio Setup PowerShell Module Available

Heath Stewart
Heath Stewart

To make the new setup configuration APIs more accessible to developers, we have published the "VSSetup" PowerShell module on powershellgallery.com, making it quick and easy to install. If you have Windows Management Framework (WMF) 5.0 or newer - installed with Windows 10 - or PowerShellGet for PowerShell 3.0 or 4.0, you can run the following from even an unelevated PowerShell host: You can also install for all users if you leave off the parameter entirely. You can also download and extract a ZIP archive from our Releases page on the project page. After installing, you can quickly enumerate all launchable ins...

Documentation available for the Setup Configuration API
Jan 25, 2017
Post comments count 0
Post likes count 0

Documentation available for the Setup Configuration API

Heath Stewart
Heath Stewart

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, or to install extensions. I previously published some samples, and now documentation for these APIs is available. The documentation is based on the runtime-callable wrapper (RCW) - the .NET interop assemblies - for the native configuration API. The main difference is that the native API will return an while the RCW will throw a where...

Changes to Visual Studio “15” Setup
Sep 15, 2016
Post comments count 0
Post likes count 0

Changes to Visual Studio “15” Setup

Heath Stewart
Heath Stewart

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, one of the goals for Visual Studio "15" is to provide choice and install just what you need. To make it easier for our partners to author component packages for Visual Studio while making sure you get all the required components, an underlying engine needs to provide granularity and cohesion with dependencies. Ex...

Insert GUIDs directly into Visual Studio Code
Jan 30, 2016
Post comments count 0
Post likes count 1

Insert GUIDs directly into Visual Studio Code

Heath Stewart
Heath Stewart

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, loose projects and is very fast. I still use Vim for a lot of quick edits in a console (I spend a lot of time in powershell.exe even when using Visual Studio for development) but Code has quickly been filling that niche for source code in various languages. But when frequently having to author GUIDs for something-or-other, my routine of generating GUIDs in different form...

Get the Windows Installer PowerShell Module easier with WMF 5.0
Dec 18, 2015
Post comments count 0
Post likes count 0

Get the Windows Installer PowerShell Module easier with WMF 5.0

Heath Stewart
Heath Stewart

Many years ago when PowerShell was first in beta, I saw an opportunity to write cmdlets that I could string together in different ways rather than writing and maintaining a bunch of one-off Windows scripts for various day-to-day tasks and customer diagnostics. I created the Windows Installer PowerShell Module to fill that role. These cmdlets are now used heavily in many tasks internally and, I hope, in the wild.Fast-forward to today – with the release of the Windows Management Framework 5.0, which includes PowerShell and a host of other great administrative features – you can get new versions of the m...