Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Latest posts

Apr 3, 2019
Post comments count 18
Post likes count 2

Configure Visual Studio across your organization with .vsconfig

Heath Stewart

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

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

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...

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

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...

Aug 8, 2018
Post comments count 0
Post likes count 0

Docker recipes available for Visual Studio Build Tools

Heath Stewart

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

Jun 14, 2018
Post comments count 0
Post likes count 0

No container image for Build Tools for Visual Studio 2017

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.

Jun 13, 2018
Post comments count 0
Post likes count 0

vswhere now supports -utf8 to override console code page

Heath Stewart

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

Apr 18, 2018
Post comments count 0
Post likes count 0

Updated documentation for Visual Studio Build Tools container

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.

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

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

Nov 8, 2017
Post comments count 0
Post likes count 0

Set both x86 and x64 registry views for custom setup policy

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.

Oct 24, 2017
Post comments count 0
Post likes count 1

How to install Builds Tools in a Docker container

Heath Stewart

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

Oct 12, 2017
Post comments count 1
Post likes count 0

New vswhere: now with more properties!

Heath Stewart

Read about all the new properties output by vswhere.

Sep 18, 2017
Post comments count 2
Post likes count 0

Installing Build Tools for Visual Studio 2017 in a Docker container

Heath Stewart

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

Sep 1, 2017
Post comments count 3
Post likes count 0

Cleaning up corrupt Visual Studio instances

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.

Jun 24, 2017
Post comments count 0
Post likes count 0

vswhere version 2.0 released

Heath Stewart

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

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

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!

May 4, 2017
Post comments count 0
Post likes count 0

Documentation now live for moving or disabling the package cache

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...

Apr 21, 2017
Post comments count 0
Post likes count 0

vswhere is now installed with Visual Studio 2017

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...

Apr 19, 2017
Post comments count 0
Post likes count 0

Cleaning up the Visual Studio 2017 package cache

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 ...

Apr 17, 2017
Post comments count 0
Post likes count 0

Moving or disabling the package cache for Visual Studio 2017

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...

Mar 11, 2017
Post comments count 0
Post likes count 0

vswhere now searches older versions of Visual Studio

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...

Mar 5, 2017
Post comments count 0
Post likes count 0

Fast acquisition of vswhere

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...

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

vswhere Available

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...

Jan 25, 2017
Post comments count 0
Post likes count 0

Visual Studio Setup PowerShell Module Available

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...

Jan 25, 2017
Post comments count 0
Post likes count 0

Documentation available for the Setup Configuration API

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...

Sep 15, 2016
Post comments count 0
Post likes count 0

Changes to Visual Studio “15” Setup

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...

Jan 30, 2016
Post comments count 0
Post likes count 1

Insert GUIDs directly into Visual Studio Code

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...

Dec 18, 2015
Post comments count 0
Post likes count 0

Get the Windows Installer PowerShell Module easier with WMF 5.0

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...

Dec 17, 2015
Post comments count 0
Post likes count 0

Failure when upgrading from VS2015 RTM to VS2015 with Update 1

Heath Stewart

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. The slipsteram is RTM + VSU1 merged together for a faster install – especially for new customers wnated to install the latest VS2015. Solution If you encounter this error, you need only repair the product and setup will continue normally. Descrip...

Jul 17, 2015
Post comments count 0
Post likes count 0

Removing Visual Studio components left behind after an uninstall

Heath Stewart

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. last one out the door turns off the light). Contrast with older releases where almost everything was left installed because we couldn’t be sure which other products still required them.Some packages, however, do get left behind. Some are packages that do not participate in package ref-counting – often those that we d...

Jul 14, 2015
Post comments count 1
Post likes count 0

How to install Visual Studio to another directory when a pre-release is installed

Heath Stewart

If you’ve installed pre-release versions of Visual Studio – or even another edition of the same release – you may find you can’t change the installation target directory. This is because once a set of shared components is installed, we install all the other components to the same directory structure. When you have multiple editions installed, this save disk space since shared files occupy the same location on disk – not to mention results in faster install times since Windows Installer doesn’t copy the same bits again. And while we do support build-to-build upgrades, those shar...

Jun 9, 2015
Post comments count 0
Post likes count 0

Redirect the Package Cache using registry-based policy

Heath Stewart

Visual Studio can require a lot of space on the system drive, and previous methods of redirecting the Package Cache can be tricky for some people to set up or even maintain as junctions across volumes may be removed on boot. The cache is there for good reasons and has significantly reduced the failure rate, but for people with smaller system drives or partitions it can be a barrier. Deleting the cache directory in its entirety can also lead to problems. So a design change was made to the WiX setup chainer, Burn, to support setting a registry-based policy to redirect the cache to another partition. This registry ...

Apr 20, 2015
Post comments count 0
Post likes count 0

Visual Studio 2013 continuously repairs producing many small log files

Heath Stewart

If you have Microsoft Visual Studio 2013 Professional, Premium, or Ultimate editions installed and are finding many small MSI*.log files in your %TEMP% directory, you may find you are running low on disk space because of how many of these files are created. While they may only be about 3MB, what causes these files to be produced can do so often enough that it may not take long to fill up the drive where %TEMP% resides. Workaround We are consistently seeing this issue caused by a missing directory, C:\Windows\Microsoft.NET\Framework\URTInstall_GAC (or %SystemRoot%\Microsoft.NET\Framework\URTInstall_GAC). To work ...

Apr 13, 2015
Post comments count 0
Post likes count 0

Detection keys for Visual Studio 2015

Heath Stewart

Administrators and developers who need to detect whether Visual Studio 2015 is installed can use similar registry keys as with past releases. This time around, though, we’ve made some changes to the lineup of products but the registry scheme remains the same. Most of the detection keys are found in the 32-bit registry hive – the ones you’ll typically want to detect, anyway. Following is a table of the products we’ve announced. The biggest change to the detection keys is that Enterprise replaces Premium and Ultimate. Community is also a subset of Professional which is a subset of Enterprise, so if you yo...

Sep 12, 2014
Post comments count 0
Post likes count 0

Workaround for when Visual Studio Update says it doesn’t apply

Heath Stewart

I previously blogged about a problem some customers were running into that prevented Visual Studio Update from installing. You might see a dialog like the one to the right and an error message that read something like, Update 2 does not apply, or is blocked by another condition on your computer. At least for many people, they had an applicable Visual Studio installed. From the logs alone, however, we were unable to determine the root cause and certainly never ran into it during countless tests across not only the division but dogfooding across the company…until recently. One cause of this problem is when...

Sep 12, 2014
Post comments count 0
Post likes count 0

Workaround for when Visual Studio Update says it doesn’t apply

Heath Stewart

I previously blogged about a problem some customers were running into that prevented Visual Studio Update from installing. You might see a dialog like the one to the right and an error message that read something like, Update 2 does not apply, or is blocked by another condition on your computer. At least for many people, they had an applicable Visual Studio installed. From the logs alone, however, we were unable to determine the root cause and certainly never ran into it during countless tests across not only the division but dogfooding across the company…until recently. One cause of this problem is when the...

Aug 21, 2014
Post comments count 1
Post likes count 0

How to register your program for file extensions shared with other programs

Heath Stewart

One frequently asked question is, “how do we register our program for a file extension when other versions (or programs) that handle it might also be installed?” The overarching question is really about how to have non-shared resources both write to a shared resource.  But in the case with the Windows registry and file associations in general, your file can only be associated with one program. That is, double-clicking on the file can only open one program unless some other intermediate system decides otherwise. Windows Vista introduced such a system. The Default Programs feature - which includes ...

Aug 20, 2014
Post comments count 0
Post likes count 0

Visual Studio 2010 uninstall utility back online

Heath Stewart

Four years ago I published a utility to help perform a clean uninstall of Visual Studio 2010. Before we added package reference counting and related bundles to Visual Studio setup, we couldn’t always be sure which products were still required so not everything was removed. This utility will remove everything provided one of a few command line options documented in the original article.Unfortunately, the old site where the utility was hosted was archived and some readers recently pointed this out. I’ve since reposted the utility on the Microsoft Download Center and created a short URL (https://aka.ms/v...

Jun 28, 2014
Post comments count 0
Post likes count 0

Seeing colors with psake

Heath Stewart

Psake (pronounced like Japanese “sake”) is a build automation tool similar to others out there like make, rake, etc., but built using PowerShell as the language of choice. So it should be no surprise that I use it for my Windows Installer PowerShell Module. It’s useful for automating tasks not limited to just calling MSBuild, but also my PowerShell Help compiler (which loads the module in a separate process, thus allowing me to keep building in the same PowerShell host process), and selected tests with MSTest. When tests fail (and when practicing TDD they often do), it can be hard to identify wh...

May 23, 2014
Post comments count 0
Post likes count 0

Update does not apply or is blocked by another condition on your computer

Heath Stewart

We have investigated reports of some installs of Visual Studio 2013 Update 2 reporting that no applicable updates are available even when VS2013 is installed. We have been unable to reproduce the cause in our labs and besides offering a workaround, we would like to ask for your assistance if you can reproduce the problem in the specific scenario described below. Problem When trying to install V2013 Update 2, you may see an error that reads, Update 2 does not apply, or is blocked by another condition on your computer. This is the result of either not having a qualifying product like Visual Studio 2013 Professi...

May 1, 2014
Post comments count 0
Post likes count 0

Incorrect hash value when installing Visual Studio 2013 Update 2

Heath Stewart

Visual Studio 2013 Update 2 RC introduces some cool new features and adds an option to slipstream the install of VS2013 RTM with Update 2 RC, but some attempts to download it have had the following problem. Problem When installing VS2013 Update 2 you see the error or warning message, “The hash value is not correct.” This will show up as either an error or a warning depending on the package. If you open the log file by clicking on the link in the Finish page, you may see an error like the following, [1543:4DC8][2014-04-03T13:05:00]e000: Error 0x80091007: Hash mismatch for path: C:\ProgramData\Package Cache\....

Apr 17, 2014
Post comments count 0
Post likes count 0

Error in installation log for Visual Studio 2013 Update 2 RC can be misleading

Heath Stewart

Given many of the exciting announcements and features demonstrated recently at Build 2014, customers are downloading Visual Studio 2013 Update 2 RC. This update is quite a bit bigger than VS2013 Update 1 since it contains many new features. A small number of customers, however, are experiencing problems installing VS2013.2 RC. Symptoms While specific symptoms vary, some customers see an error dialog almost immediately or they see warnings after installation completes successfully. In these cases, customers have spotted the following error in the bundle installation log: [1543:4DC8][2014-04-09T12:00:30]e000: Er...

Feb 11, 2014
Post comments count 0
Post likes count 0

How to relocate the Package Cache

Heath Stewart

Visual Studio can require a lot of space on the system drive. Based on years of data collected from customers’ installations from the Customer Experience Improvement Program, we took advantage of this feature in Burn – the Windows Installer XML (WiX) chainer – to eliminate most errors during repair, servicing, and even uninstall. This was not a popular decision with some customers. For years even I pushed against caching Visual Studio deployment packages because of the impact to drive space as well, but as HDD space increased market studies showed little reason not to cache for the increased reliability of deploy...

Jan 21, 2014
Post comments count 0
Post likes count 0

Upgrading Visual Studio 2013 Update to a newer Update may be slow

Heath Stewart

Our first public release of Visual Studio Update for Microsoft Visual Studio 2013 is available. There are, however, a couple of known issues in hopefully uncommon scenarios. Fixed We have fixed this in future versions of Visual Studio Update. This post is kept for historical reasons should any users have problems upgrading from pre-release versions of Visual Studio 2013 Update 1 to the final release bits of VSUpdate 1. Technically, this was fixed for VSUpdate 1 RTM, but the fix has to be in the release getting upgraded, so going from VSUpdate 1 RTM to any future CTP or release bits will not exhibit this prob...

Jan 21, 2014
Post comments count 0
Post likes count 0

Uninstalling Visual Studio 2013 with VSUpdate error: Element not found

Heath Stewart

Our first public release of Visual Studio Update for Microsoft Visual Studio 2013 is available. There are, however, a couple of known issues in hopefully uncommon scenarios. Symptom If you attempt to uninstall Visual Studio 2013 after VSUpdate has been installed, you may see an error after a while that reads “Element not found.” VS2013 may not be completely uninstalled from your machine. Workaround Try uninstalling VS2013 again from Programs and Features. This should completely uninstall all but a few packages (like the .NET Framework and any other packages shared with other bundles) from your machine. More ...

Oct 7, 2013
Post comments count 0
Post likes count 0

Visual Studio 2013 shortcuts in Windows 8.1

Heath Stewart

Windows 8.1 made a change for RTM – as some MSDN Subscribers might’ve noticed – where newly installed applications’ shortcuts are not immediately visible on the Start menu. They are still installed and indexed, but you need to either swipe down on your touch screen or click the down arrow as shown below. On the Start menu, you can also just begin typing. Application shortcuts – along with files and settings – are displayed matching the text you typed. Just start typing “Visual Studio” and you’ll see a list of applications you can launch. This behavior is the same for modern and desktop applications, put...

Jul 3, 2013
Post comments count 0
Post likes count 0

Windows Installer PowerShell Module 2.2.1 Released

Heath Stewart

Yesterday I released servicing update 2.2.1, which updates 2.2.0 to fix a few bugs and add a few cool new features: Version-specific documentation has been added, but the most significant change to the documentation is the complete overhaul of the examples. Apart from removing some old examples using deprecated functionality, I organized the examples into different subsections (on separate pages) based on what sort of actions you'd like to perform. You can suggest any other examples you would like to see - or any other questions or comments - on the discussion tab.

Jun 13, 2013
Post comments count 0
Post likes count 0

Windows Installer PowerShell Module 2.2.0 Released

Heath Stewart

Years ago I released PowerShell cmdlets (“command-lets”) that make querying product and patch information easy and robust. Windows PowerShell is a powerful shell that pipes objects – not simply text – and provides full access to the .NET Framework as part of the language (though higher-level constructs are most often better). Earlier this week I released a new version – version 2.2.0 - of my Windows Installer PowerShell module with great new cmdlets as well as some bug fixes. I’ll be posting more examples online, but have included a few below to give you an idea of what you can do and how they work seamlessly wi...

Nov 27, 2012
Post comments count 0
Post likes count 0

Visual Studio 2012 Update 1 has Released

Heath Stewart

To provide incremental value to our customers, we have released Visual Studio Update 1 and will be notifying all Visual Studio 2012 customers via toast notifications (like you get for VS package updates) soon.Soma’s blog has more information on VSUpdate in general, as well as some of the features you can expect. And check out Brian’s blog for links to more detailed information about the changes made for TFS.

Oct 8, 2012
Post comments count 0
Post likes count 0

Visual Studio 2012 Update 1 CTP3 is Available

Heath Stewart

Visual Studio 2012 Update (VSUpdate) is our way of delivering fixes and, in some cases, new features to our VS2012 customers. The latest Community Technical Preview (CTP) is available for download now.See the ALM and TFS blog post for more information.

Sep 6, 2012
Post comments count 0
Post likes count 0

Windows Installer XML (WiX) v3.6 Released

Heath Stewart

The Windows Installer XML (WiX) team has released version 3.6 which, most notably, released a powerful and customizable chainer named Burn. The Visual Studio 2012 setup applications were built on Burn using features such as package caching, reference counting, and sticky patching to improve the overall experience from past releases.Head on over to Rob’s blog post for more information about all the features introduced and improved in WiX v3.6 as well as background information on how we achieved such an important release for WiX.Updated: Corrected typo.

Aug 23, 2012
Post comments count 0
Post likes count 0

Visual Studio 2012 RTM will not install on pre-release versions of Windows 8

Heath Stewart

SymptomCustomers installing Visual Studio 2012 RTM on pre-release versions of Windows 8 or Windows Server 2012 may see the following error after launching the setup application: The .Net Framework installed on this machine does not meet the minimum required version: 4.5.50709. This is a blocking error and only allows the install to be canceled.CauseVisual Studio 2012 RTM is not supported on pre-release versions of Windows 8 or Windows Server 2012.ResolutionTo install Visual Studio 2012 RTM, you will need to install it on Windows 7 SP1, Server 2008 R2 SP1, or install VS2012 RTM on Windows 8 or Server 2012 RTM...

Aug 22, 2012
Post comments count 0
Post likes count 0

Visual Studio 2012 can only install to certified Windows To Go drives

Heath Stewart

Windows To Go is a cool new enterprise features to enable a mobile workforce to carry around an enterprise-managed installation of Windows on a USB thumb drive. However, only certified thumb drives appear as fixed drives and, therefore, Visual Studio 2012 can only install to certified drives. VS2012, like some other products, only supports installing to fixed drives because removable drives can be ejected and VS will not work correctly. If you install Windows To Go (aka WTG or W2G) on a non-certified drive then boot to it and attempt to install VS2012 – or even try to install VS2012 to a separate removable drive...

Aug 17, 2012
Post comments count 0
Post likes count 0

A certificate chain could not be built to a trusted root authority

Heath Stewart

This was a preview of a Knowledge Base article which has been published as KB2746268.SymptomAfter Visual Studio 2012 has been installed, the finish page displays the following: Setup Completed However, not all features installed correctly. Please correct the following problems to ensure full product functionality. Click here to see the most common issues and workarounds or here to review the log file. Microsoft Web Deploy 3.0 A certificate chain could not be built to a trust root authority. If you click to view the log file and search for “Error”, you will see log lines similar to the following: [05B0...

Aug 17, 2012
Post comments count 0
Post likes count 0

Upgrading from Visual Studio 2012 RC to RTM

Heath Stewart

Now that Visual Studio 2012 and .NET Framework 4.5 have been released, some customers are wondering if they need to uninstall the Visual Studio 2012 Release Candidate (RC) first before upgraded. In general, the answer is “no”. VS2012 RC will upgrade to RTM, but there are a few things to note: For more information about compatibility, see our compatibility page on the Visual Studio website.If you need to uninstall VS2012 RC, we have posted instructions to KB2744926. For the most part, you only need to remove the main program entry in Programs and Features. While we have done a lot to reduce ...

Aug 3, 2012
Post comments count 0
Post likes count 0

Detection keys for Visual Studio 2012

Heath Stewart

Administrators and developers who need to detect if Visual Studio 2012 is installed on a machine can use similar keys as those used for past releases like Visual Studio 2010. In general, these detection keys are always found in the 32-bit registry hive with a pattern like: So if you needed to detect if VS2012 Ultimate is installed, you can check if the “Install” registry value is set (will always be a REG_DWORD with data set to 1) in the following language-independent registry key: What has changed from previous releases like VS2010 is that Ultimate contains the Professional and Premium edit...

Jul 26, 2012
Post comments count 0
Post likes count 0

How Visual Studio 2012 Avoids Prompts for Source

Heath Stewart

Requiring source packages during installation, repairs, and even uninstall are common occurrences for some customers. The core issue is that Windows Installer needs the source location of the package and its files to install - and can't find them automatically - when attempting to restore the machine to the state it should be in (according to that package and any patches applied to it). When the WiX community was developing Burn - the chainer that is part of the toolset in v3.6 - we knew this was a common problem for any Windows Installer-based deployment. So we implemented package caching which copies all ins...

Jul 26, 2012
Post comments count 0
Post likes count 0

Easier Authoring for Slipstreaming Patches

Heath Stewart

Slipstreaming Windows Installer patches is, technically, installing the MSP simultaneously with the MSI as a single transaction. This is, effectively: The applicable transforms (both the authoring changes and patch transforms) are applied to the MSI and the MSI is installed with those changes from the start. Both the MSI and MSP are cached in the Windows Installer cache. The slipstreamed MSP(s) can even be removed later if desired (unlike admin patching). WiX v3.6 has supported this for a while in the Burn engine using the following fragment: The problem with this syntax as your bundle grows in scale is that y...

Jul 13, 2012
Post comments count 0
Post likes count 0

New Revision of the July 2012 Update for Visual Studio 2012 RC

Heath Stewart

We have released a new revision of the July 2012 Update for VS2012 RC. This update replaces – or supersedes – the previous update, which means the download link is the same. We have retained the previous packages that VSUpdate installs – or chains – to support customers who may still require source packages when repairing Visual Studio 2012 RC or uninstalling VSUpdate RC.We have also updated the previous KB2703187 article with the changes made in this re-release.Should you have any problems installing the new revision July 2012 Update for Visual Studio 2012 on RC (v11.0.50522.1) please dow...

Jul 6, 2012
Post comments count 0
Post likes count 0

July 2012 Update for Visual Studio 2012 RC

Heath Stewart

A few months ago we introduced a new method of delivering updates to Visual Studio 2012. Today we published updates in the same manner for Visual Studio 2012 Release Candidates.You can download the July 2012 update (KB2703187) for VS2012 RC from http://go.microsoft.com/fwlink/?LinkID=257044. More information about this update is available at http://support.microsoft.com/kb/2703187.As with Visual Studio 11 Beta, you will also be notified via Extension Manager. We did, however, make a change for RC to check for updates periodically. This will improve the end-to-end experience for VS updates.As always, we’d lo...

Jun 4, 2012
Post comments count 0
Post likes count 0

How to fix “Invalid License Data” after upgrading from Visual Studio 2012 Beta to RC

Heath Stewart

A few customers have reported the following error after upgrading from VS2012 Beta to the Release Candidate (RC): Invalid License Data Reinstall is required. Aaron Marten on the Visual Studio Extensibility team has a post describing how to fix this issue. This should only happen if you upgrade a “higher” Beta edition to a “lower” RC edition, like from VS11 Ultimate Beta to VS2012 Professional RC. You may avoid this issue if you haven’t yet installed the RC by upgrading to the same or “higher” edition than you installed for the Beta (i.e. Professional < Premium < U...

May 31, 2012
Post comments count 0
Post likes count 0

Announcing Windows Installer XML v3.6 Release Candidate

Heath Stewart

On a day of many great Release Candidate (RC) announcements, I should not forget another important RC milestone: Windows Installer XML (WiX) v3.6 RC.We’ve made a lot of improvements, simplified some scenarios, and fixed a lot of bugs. Download v3.6 RC and give it a try and let us know if you find any other issues.

May 31, 2012
Post comments count 0
Post likes count 0

Announcing Visual Studio 2012 Release Candidate

Heath Stewart

Microsoft Visual Studio 2012 Release Candidate (RC) – formerly known as Visual Studio 11 – is now available for download! Jason Zander’s blog has a lot of great information on all the exciting changes we have made, including improvements to setup. I encourage you to download and give VS2012 RC a try. Should you find any issues with setup, please be sure to to download and run our log collection utility. You can then find help through the following channels for setup: For general feedback or to file bugs for Visual Studio itself, look to the bottom of Jason’s blog post for a wealth of r...

Apr 6, 2012
Post comments count 0
Post likes count 0

Visual Studio 11 Beta Updates

Heath Stewart

Today we announced a new method of delivering updates using a notification system many Visual Studio developers should be familiar with: the Visual Studio Extension Manager. Developers will now be notified in Visual Studio when updates are available.When the notification balloon is clicked, Extension Manager will open to a new node: Product Updates. Clicking the Update button will download the update so you can run it.The update is also available on the Download Center and you can read more about what’s included for the Beta Update in KB2677574.We’d love to hear your feedback on the Visual Studio blog...

Mar 7, 2012
Post comments count 0
Post likes count 0

Why Visual Studio 11 Requires Space on the System Drive

Heath Stewart

Users have asked why space is required on the system drive (typically the C: drive) when they choose to install Visual Studio 11 to another drive.While Visual Studio 11 does allow you to install the majority of features to another drive, VS11 still requires space on the system drive for the following reasons: For Visual Studio 11 Ultimate Beta, about 45% of the entire installation is located on the other drive. We are working to improve that experience but significant drive space will still be required on the system drive for those reasons above.If you have significant disk space available, I recom...

Mar 7, 2012
Post comments count 0
Post likes count 0

Packaging Caching in Burn

Heath Stewart

There are times when repairing or servicing a product that source media is required. As more product installs move to web-based installs, these prompts for source are harder to solve. In order to replace missing, corrupted, or older files, the source is required because those files have to come from somewhere.Burn, the bootstrapper application in the Windows Installer XML toolset, aims to solve that by caching setup packages on disk – specifically in %ProgramData% or %LocalAppData% depending on whether a package is installed per-machine or per-user, respectively. Whenever a user repairs a bundle, the cached...

Feb 29, 2012
Post comments count 0
Post likes count 0

Announcing Visual Studio 11 Beta

Heath Stewart

Along with the release of the Windows 8 Consumer Preview, we have released Visual Studio 11 Beta and Jason Zander has announced many of the great new and improved features in VS11 Beta. We have also introduced a new setup experience with VS11. Setup is built atop Burn, the Windows Installer XML engine, as well as the managed bootstrapper application (MBA) interoperability layer. This means that setup supports many of the features of Burn including package ref-counting, creating layouts for later installs, and build to build upgrades. We will highlight these features of setup more in our team blog. If anyone ...

Feb 21, 2012
Post comments count 0
Post likes count 0

Introducing Sticky Patching and Add-ons

Heath Stewart

Late last week I checked in a feature for Windows Installer XML’s (WiX) chainer, Burn, that I’m really excited about (ask my colleagues): sticky patching.This is a feature at the bundle (what we call our composition of packages for Burn) level that supports related bundles of type “Patch” and “Addon”. Whenever you install a new bundle, if there are any of those related bundles already on the machine, they are automatically re-installed (efficiently) at the end of the chain (the sequence of packages in the bundle).“Patch” and “Addon” related bundles will ...

Feb 21, 2012
Post comments count 0
Post likes count 0

Introducing Package Reference Counting

Heath Stewart

These days it’s more common to install products composed of more than one installer package. Modern applications are often a loose fitting of localized components and being authored into a single package just isn’t practical.For example, a localized application will undoubtedly have neutral or single-language binaries while using satellite resources for other languages’ resources. You could package these common binaries into separate fully-localized installer packages – one for each language – but that will lead to all sorts of problems with shared components.Having separate packages...

Oct 28, 2011
Post comments count 0
Post likes count 0

Introducing Managed Bootstrapper Applications

Heath Stewart

Now that WiX v3.6 has been released, I introduce the managed bootstrapper application (MBA) interoperability layer. It’s been available for a while actually, and if you’ve installed any builds of WiX v3.6, or the Microsoft Visual Studio 11.0 Developer Preview you’ve seen it in action. While Burn – the WiX bootstrapper engine – and the core bootstrapper application interfaces are native and allow you to develop completely native bootstrapper applications, MBA allows managed code developers to utilize their skills to develop rich interactive setups. WPF designers can also utilize their skills to make the setup U...

May 31, 2011
Post comments count 0
Post likes count 0

Installing across network may slow Visual Studio 2010 and Service Pack 1 setup

Heath Stewart

If you are installing Visual Studio 2010 or Visual Studio 2010 Service Pack 1 from across the network and are experiencing slow install times, this could be caused by low network bandwidth and long verification times.How to work around this issueFor Visual Studio 2010 RTM, copy the entire contents of the network directory locally. This directory contains setup.exe and folders like WCU. After all the files have been copied, run setup.exe as you would normally. When possible, you might also install from an ISO (if burning to DVD, please verify the download and burn results) or a web bootstrapper which should not ex...

Apr 1, 2011
Post comments count 0
Post likes count 0

Visual C++ 2010 SP1 Compiler Update for the Windows SDK 7.1

Heath Stewart

After installing Visual Studio 2010 Service Pack 1, some users were unable to use the x64 or IA64 compilers from the Windows SDK 7.1. Now the Visual C++ team has released an update for VS2010 SP1 available here. For more information about the update, please see KB2519277 on the Microsoft Support site.You can install the update to fix existing installations, but if you have not yet installed Visual Studio 2010 SP1 the recommended install order is, Please visit the Visual C++ team blog for more information or questions.

Mar 25, 2011
Post comments count 0
Post likes count 0

Verify the ISO checksum for Visual Studio 2010 Service Pack 1 before installing

Heath Stewart

While we recommend installing Visual Studio 2010 SP1 using the web download – which only downloads and install those packages needed on your machine – you can also download an ISO for offline use. If you downloaded the ISO for VS2010 SP1 from the Microsoft Download Center or from MSDN Subscriber Downloads, please verify the checksum for the ISO before you install. This can help prevent issues when installing SP1.The checksums follow. To verify the SHA1 hash of the ISO, you can download the File Checksum Integrity Verifier (fciv.exe) described in KB841290. Installing the package will prompt wher...

Mar 15, 2011
Post comments count 0
Post likes count 0

Installing Visual Studio 2010 RTM and Service Pack 1 together

Heath Stewart

Now that Visual Studio 2010 SP1 has been released, administrators and developers may wish to install both RTM and SP1 together for a seamless experience. With the release of VS2010 RTM we already published the Visual Studio Administrator Guide that documents a lot of the instructions I’ll utilize below. I encourage you to review that before proceeding with the following instructions, particularly how to avoid restarts during setup by pre-installing certain packages like Windows Installer 4.5 and .NET Framework 4.0. How to: Create and run an unattended Visual Studio with SP1 setup You’ll create a distr...

Mar 14, 2011
Post comments count 0
Post likes count 0

Installing Visual Studio 2010 Service Pack 1 may prompt for source

Heath Stewart

Some users are reporting that when installing Visual Studio 2010 SP1 they are prompted for MSI files as shown in the following example screenshot. These prompts for source are most common during rollback on failed install attempts and uninstall since original RTM files need to be put back on the machine and may not have been cached by Windows Installer. This includes, but is not limited to, the following MSI files. I will update this list of files customers are commonly seeing as I’m made aware. If you are seeing this with other MSI files when installing VS2010 SP1, please comment below. How to wor...

Mar 8, 2011
Post comments count 0
Post likes count 0

Visual Studio 2010 Service Pack 1 has shipped

Heath Stewart

As announced in Soma’s blog post, Visual Studio 2010 SP1 has been released to MSDN subscribers today and will release to the general public on Thursday, March 10th.We have made a number of significant changes in Visual Studio 2010 SP1 from past releases we hope will make deployment smoother for both developers and administrators alike. And while we hope you’ll notice a better development experience with SP1 installed, should you ever need to uninstall it we now provide a single method to do so. In Add/Remove Programs, you can select Microsoft Visual Studio 2010 Service Pack 1 and cl...

Mar 2, 2011
Post comments count 0
Post likes count 0

Visual Studio 2010 Service Pack 1 installing for over 2 hours could be a sign of a problem

Heath Stewart

On average customers are experience ~45 minute installs for Visual Studio 2010 SP1. Based on machine performance, even seeing install times of a little over an hour isn’t unexpected. But if VS2010 SP1 is taking more than a couple hours to install, there could be a problem and in the case described below requires user action.Description of the issueIf Visual Studio 2010 SP1 is taking more than a couple of hours to install, it may be stuck in a loop waiting for the user to cancel the current operation. To determine if this is the case, If you find that text in the temporary log file, pl...

Feb 20, 2011
Post comments count 0
Post likes count 0

A patch may take as long or longer to install than the target product

Heath Stewart

Often I’m asked why installing a Windows Installer patch (MSP) takes as long or longer to install than the target product (MSI). While this isn’t always the case for every patch, it’s certainly possible for a number of reasons. It may also come as a surprise that the size of the patch can have little to do with the time to install the patch.Several copies of the patch may be createdWhen you install a Windows Installer package, many copies of either the MSI or MSP package are created. But even before you start an installation, a bootstrap application will often download or copy the package locall...

Dec 8, 2010
Post comments count 0
Post likes count 0

Providing feedback on Visual Studio 2010 Service Pack 1 Beta installation

Heath Stewart

By installing Visual Studio 2010 SP1 Beta now (or tomorrow for general availability), you have a great opportunity to provide early feedback before we ship VS2010 SP1 RTM. Not only do we welcome feedback on the updates to the product such as the new Help Viewer, performance regressions, and more; but we also want to hear your feedback on the installation experience – especially if you’re running into installation problems.But before we can really help identify an installation issues and help you work around it – not to mention possible solutions for RTM – we need installation logs for the ...

Dec 7, 2010
Post comments count 0
Post likes count 0

Announcing Visual Studio 2010 Service Pack 1 Beta

Heath Stewart

If you haven’t seen from Soma’s or Jason’s blog, Visual Studio 2010 SP1 Beta is available today for MSDN Subscribers and will be available on Thursday for the general public. This service pack contains a lot of performance improvements and a new Help Viewer based on strong customer feedback. You can find out about more changes to the product in Jason’s blog post.This release also marks a change in the deployment experience to provide customers a single download to update any products already installed on their systems. While VS2010 SP1 Beta is available for ENU and JPN customers, SP1 RTM w...

Dec 7, 2010
Post comments count 0
Post likes count 0

Delete shadow copies to compact VHDs and AVHDs

Heath Stewart

For a few years my primary development machine has actually been a VM with source located on a physical hard drive attached to the VM. This helps reduce latency compared to a differencing disk (AVHD) which may need to expand to accommodate additional data (common when building). It’s also easier to maintain than multiple boot entries when booting to different AVHDs.But a couple of weeks ago I accidentally created a new source enlistment on my guest system drive – a series of differencing disks on top of a dynamic root disk (VHD). Not only did this expand to the limit of the virtual drive capacity, but...

Sep 16, 2010
Post comments count 0
Post likes count 0

Restart Manager functionality in WiX 3.5

Heath Stewart

WiX 3.5 provides features to integrate with Visual Studio 2005, 2008, and 2010. But like many add-ins, since new files are being added they certainly can’t be in use by devenv.exe. So when we call devenv.exe /setup as part of our install, the changes may not show up in running instances of Visual Studio. To provide a better experience – and because this seems to be a fairly common request – I’ve added a custom action in WiX 3.5’s WixUtilExtension to use the Restart Manager in Vista and newer. The Restart Manager is capable of shutting down applications – similar to the normal files-in-use functionality in Window...

Sep 8, 2010
Post comments count 0
Post likes count 0

Downgrading Shared Components

Heath Stewart

Shared components define shared resources. It might seem obvious, but it’s important to understand that whatever you do to a shared resource during the installation of one product affects those same resources for any other product. For example, when upgrading one product to update files shared with another product, that other product will use the newer resources such as versioned files. It’s important to test those interactions before you ship to make sure the products can work with newer resources – that the changes to those resources are backward compatible.By default, newer versioned files wi...

Aug 24, 2010
Post comments count 0
Post likes count 0

Comparison of PatchWiz and WiX v3 Patch Build

Heath Stewart

The Windows Installer SDK ships a library named patchwiz.dll. This contains the logic to build a patch from pairs of database packages (.msi files, or simply MSIs) along with other configuration properties. Another tool that the SDK ships is msimsp.exe which uses patchwiz.dll and parses command line options. These tools consume an input file with the same format as a database package but with a different set of tables. This is known as a PCP file (because of the .pcp extension).When we started planning a patch build system for Windows Installer XML (WiX), we considered building a new system that is completely und...

Aug 23, 2010
Post comments count 1
Post likes count 0

Visual Studio 2010 Uninstall Utility

Heath Stewart

While we hope you’ll love Visual Studio 2010 for all the application development it enables with powerful features and a robust extension model that enables great extensions like the Productivity Power Tools, if you ever need to uninstall Visual Studio it can be difficult. If you’ve ever tried to remove Visual Studio you already know this.But have a tool that can help for English installations: the Visual Studio 2010 Uninstall Utility.An excerpt from that page reads, Default (VS2010_Uninstall-RTM.ENU.exe) Uninstalls all top level products of 2010 release and its supporting components. This mode does n...

Aug 21, 2010
Post comments count 0
Post likes count 0

Customizing Shortcuts for Visual Studio

Heath Stewart

After installing the last several releases of Visual Studio, you’ll find shortcuts to command prompts that automatically set up the PATH, INCLUDE, LIB, and other environment variables. At least with Visual Studio 2010 these command prompts have larger buffers and enable quick edit mode, but some people like to customize these shortcuts to their liking.Since Visual Studio installs for all users, these shortcuts are protected and can only be edited by administrators. In Windows 7 you are simply prompted to elevate; however, in Windows Vista with UAC enabled, when you try to edit the shortcut you may see the f...

May 4, 2010
Post comments count 0
Post likes count 0

Detection keys for .NET Framework 4.0 and Visual Studio 2010

Heath Stewart

Now that Microsoft .NET Framework 4.0 and Visual Studio 2010 have been released, developers may wonder how to detect them on the system. As with previous releases, we support registry detection of either product family and Windows Installer component detection for Visual Studio. Detecting either product uses a separate set of supported keys. .NET Framework 4.0 The .NET Framework has and continues to use registry keys and values under . To detect .NET Framework 4.0, you can check if the following key is present and the value is set to 1. The core .NET Framework 4.0 package is English, so 1033 is always available....

Apr 9, 2010
Post comments count 0
Post likes count 0

Major Upgrades with Shared Components

Heath Stewart

Major upgrades are Windows Installer products that can be installed like any other product with the added benefit of removing one ore more related products. For example, version 2 of a product can be installed on a clean machine, or on a machine with version 1 already installed and will remove version 1.When another version of a product is removed depends on where you schedule RemoveExistingProducts. If you schedule the action late – either before or after InstallFinalize – shared components are a potential factor when developing your product installation. But before going into detail, let’s fir...

Feb 26, 2010
Post comments count 0
Post likes count 0

Testing for components that install under TARGETDIR

Heath Stewart

A while back I explained how Windows Installer sets the TARGETDIR property to the root of the fixed drive with the most free space available. The problem is that even an attached USB external drive can appear as a fixed drive, and these may be later detached. If components are installed to that drive and the drive is detached, repairing, patching, or even uninstalling the product may fail because the components are not available and cannot be updated or removed. This is also one potential reason Windows Installer may trigger a repair after a failed resiliency check. The problem is that this can be difficult to te...

Feb 15, 2010
Post comments count 0
Post likes count 0

Test your conditions

Heath Stewart

When testing the serviceability of your product before you ship, it’s important to test any conditions you might have on the product, features, components, and actions.Feature conditions can set the install level of a feature when the package is installed. But as the Condition table documentation states, be sure that the condition does not evaluate to False at any time after the feature is installed. Once the feature is installed, the condition is used merely to inform Windows Installer whether it is installed or not. If Windows Installer does not think the feature is installed locally, is will not reinstal...

Feb 14, 2010
Post comments count 0
Post likes count 0

Serviceability

Heath Stewart

It’s always important to test your product before it ships. Servicing it later can prove very costly and very difficult. It’s no different with your installation packages. You need to test not only basic install and uninstall operations, but also test your servicing plan. Problems are inevitable in practically any application, and you may even need to add in additional features. So test that you can before your product ships.Before testing your product deployment, you need to define and document what you will conceivably support. Many of the following options supported by Windows Installer are also su...