Visual Studio Setup

Installation and containerization of the Visual Studio family of products

MSIZap is not Uninstall

The tool msizap.exe that is available in the Windows SDK and elsewhere on the web (remember to always download from a trusted source) is a powerful but dangerous tool that is often used to quickly and casually, and can leave your machine in a corrupted state if not used correctly. The same is true for the Windows Installer CleanUp Utility ...

Windows Installer 4.5 Beta 2 Available

The Windows Installer team released Windows Installer 4.5 Beta 2 recently. While not a lot has visibly changed since the first beta for which I provided an overview, it's important to note that a new column was added to the CustomAction table since changes to column types are not supported in a transform or patch but adding a new column is ...

Another Workaround to Add New Components to Existing Features

Yesterday I described an issue when adding new components to existing, not-installed (absent) features the feature tree is installed. This can lead to prompts for source or failed installations. One workaround is to add new, top-level hidden features. This works well unless new resources have a dependency on the older resources installed by ...

Adding New Components to Existing Features Installs the Feature Tree

As Developer Division starts to ship patches for the Visual Studio 2008, some users are being prompted for installation source media. This is a resulting of Windows Installer needing the original source files if, for example, files are missing from disk when you repair your product or backup files are not available during patch install. If you...

Debugging Custom Actions: Leaked Handles

Debugging custom actions isn't exactly the easiest action to do; Windows Installer spawns separate processes - remoting servers - to run in-process custom actions. Any opportunity to diagnose issues without debugging can be helpful.For example, an issue that comes up from time to time is leaked handles. A Windows Installer debug log might show...

Different Packages are Required for Different Processor Architectures

A common question is how to create a Windows Installer package that installs 32-bit binaries on 32-bit platforms, and both 32- and 64-bit binaries on 64-bit platforms. If you're actually trying to install 64-bit binaries to appropriate directories and write to the 64-bit view of the registry, the short answer is that you can't build a single ...

Patch Families in WiX and Windows Installer

Patch families were introduced in Windows Installer 3.0 as a means to sequence patches even if applied in any order, and to supersede previous patches. Supersedence allows for easier delta patching and allows more patches to be installed than the 127 limit.When we started developing the new patch build support in Windows Installer XML (WiX) 3....