Visual Studio Setup

Installation and containerization of the Visual Studio family of products

The Essentials, or Heath's Greatest Hits

People commonly ask me what to start reading to learn about Windows Installer. Internally I point people to a wiki I maintain with lots of links to various sources, and some of those links are to my own blog posts. Externally I typically link to all these same sources, and typing all those links and maintaining the list becomes tedious. So I'...

Microsoft .NET Framework 2.0 Service Pack 1, and How to Detect It

No doubt you've heard the Microsoft .NET Framework 3.5 was released. Aaron Stebner has posted a list of links to 3.5, as well as 2.0 Service Pack 1 (SP1) and 3.0 SP1. It's important to note that if you install 3.5 you're actually getting 2.0 SP1 and 3.0 SP1 both.The .NET Framework 3.5 consists of the following: While 2.0 SP1 and 3.0 SP1 are ...

How to Install TFC without PPE

Microsoft Visual Studio 2008, now available for MSDN subscribers and Express editions freely available to everyone, is a huge application. It takes a while to install and, in the case of Visual Studio 2005 Service Pack 1, a long time to patch. Installing or patching multiple copies of shared components can be time-consuming. So if you've ...

AppCompat in Windows Installer

The Application Compatibility (AppCompat) platform in Windows is a powerful feature that allows for fixes on practically any program or package to be loaded on Windows. Windows Installer takes advantage of a protected database full of fixes in the form of transforms and custom action shims.While looking in a verbose Windows Installer log, you ...

Sequencing before Versioning

File versions in Windows Installer and properties like REINSTALL and REINSTALLMODE determine what files are copied to their destination. But before files versions are even a factor, any patches being installed or already installed are sequenced first.A Windows Installer patch file, a .msp file, contains a set of transforms for one or more ...

Shim Database to XML

Extracts data as XML from a shim database used for application compatibility. Please leave feedback on the tool here on this page. This was developed using what little public documentation is available on MSDN as well as some experimentation at other functions that were exported from apphelp.dll, such as SdbReadBYTETag() which I reasoned ...

Windows Installer Properties and Conditions

In many languages, some variables can take a value of different types but with the same meaning. Variants in script, for example, can take 0 or false; or they can take any non-zero value and true. The following JScript example prints "Same".if (0 == false) WScript.Echo("Same");The same is not true of Windows Installer however, and conditions ...