Fixes in Microsoft .NET Framework 2.0 SP1 and 3.0 SP1

A reader pointed out that the list of fixes for .NET Framework 2.0 Service Pack 1 were published. I also see from the .NET Framework 3.5 download page that the list of fixes for .NET Framework 3.0 Service Pack 1 were also published. Both are listed below. Problems that are fixed in the .NET Framework… Read more

How to Workaround Error 1330 During Visual Studio 2008 Installation

When installing Visual Studio 2008, you might run into an error dialog that reads, Error 1330.A file that is required cannot be installed because the cabinet file has an invalid digital signature. This may indicate that the cabinet file is corrupt. The path and name of the cabinet may be different, but might often… Read more

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… Read more

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… Read more

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… Read more

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… Read more

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 target… Read 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 follows the… Read more

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… Read more