Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Detecting Visual Studio 2005 Service Pack 1

Now that Visual Studio 2005 Service Pack 1 is released, it can be detected programmatically in various ways. Registry detection is recommended for ease and is less impacted by future changes to the product installation. Because there are many different Visual Studio 2005 editions and service pack 1 patch packages, you may need to perform ...

Slipstreaming Visual Studio 2005 Service Pack 1

Now that Visual Studio 2005 Service Pack 1 is released, some are wondering how to slipstream the patch so they can install Visual Studio 2005 with SP1 already applied. Much of this process is standard practice for Windows Installer packages. Please note this will require a lot of disk space, as you’re unpacking around 3 GB – and ...

Source Resolution during Patch Uninstall

There are a number of guidelines to prevent requiring source media for patch installation. These guidelines can also help prevent requiring source media during patch uninstall, but there are a number of caveats. Recall from Rebuilding the Installer Cache that the baseline cache contains files that were replaced. But files that get replaced don...

The Windows Installer Service

Some have noticed that the msiexec.exe process seems to run for quite some time after a known installation completing, or that the Windows Installer service starts and stops even though it is set to manual startup mode. These are often the same process, and when you see msiexec.exe running as SYSTEM that is the Windows Installer service ...

Rebuilding the Installer Cache

During some operations upgrades internally, a problem arose on some machines where a patch for the Microsoft .NET Framework 2.0 would fail to install. I was looped into the thread to diagnose the issue and found that the Windows Installer package and the patch package were both missing from the installer cache. Since a .msp file is just a ...

Save Time and Space for VS 2005 SP1 by Disabling the Patch Cache

The upcoming Visual Studio 2005 Service Pack 1 can take a while to install and can require a lot of disk installed, and even more disk space while installing the patch. You can save a little of both by disabling the Windows Installer patch caching feature. Before doing so, understand that this patch cache contains copies of the files that were...

You Can’t Escape Quotes

SQL expression support is easy to use when modifying Windows Installer packages, but there is one major drawback that continues to cause problems: you can't escape single quotation marks in Windows Installer SQL expressions. Consider the following sample code: TCHAR szSQL[MAX_SQL];LPCTSTR pszExample = TEXT("Heath 'ClubStew' Stewart");...

Viewing Patches in Orca

I am often asked why file changes don't appear in the handy Windows Installer tool, Orca. When people open an .msp patch package in Orca, they will likely see something like the following: (image) As described in What's in a Patch, a patch package contains transforms and, optionally, tables. Currently, Windows Installer-supported tables ...

How Windows Installer uses Languages

Language support in Windows Installer can be confusing until you understand how Windows Installer queries for and uses languages. Some wonder why Windows Installer packages have two different places to set the language. Some wonder why, for example, localized packages install using a different language than the user's default UI language. Some...

Mitigating Custom Action Problems for Patches on Vista

Because some of the custom actions in Visual Studio 2005 are authored to impersonate the non-privileged token of the invoking user on Vista, a mitigation has been checked in for the patch wrapper that is used to add additional compression for the patch and to patch multiple products, if present, without rebooting in between. The native wrapper...