Restart Manager functionality in WiX 3.5

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

WoW64 is optional in Windows Server 2008 R2 Server Core

Installation bootstrap applications are increasingly common as products chain dependencies like the Microsoft .NET Framework. Because 64-bit Windows supports both 32- and 64-bit execution, but 64-bit executables on 32-bit Windows give what some users might consider cryptic error messages, installation developers often ship a 32-bit bootstrap application that runs in either environment. Then in scenarios… Read more

Windows Installer XML (WiX) v3 Beta Released

Since plans were made to ship WiX v3 in the box for Visual Studio 2010, the WiX working group has been working on fixing all outstanding bugs in the WiX v3 code base. Bob Arnson uploaded packages last week as a test on SourceForge and this week the following installation packages were uploaded on the… Read more

Why Windows Installer May Require so much Disk Space

Windows Installer is an engine for performing transactional installations. When installing a product for the fist time, most often few or no files to be installed are already present on the machine. But when upgrading or patching a product, most often those files are replaced so copies must be kept if an error occurs and… Read more

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

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

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

ResolveSource Requires Source

It might be tempting to schedule the ResolveSource action, but ResolveSource actually requires that the original installation source is available whenever it is called. If your installer package is authored correctly, source must only be resolve in cases where the original RTM files are missing or during some patch uninstall scenarios. To decrease the chance… Read more

EXE Custom Actions are Bad

Windows Installer custom actions that launch executables (base custom action type msidbCustomActionTypeExe, 0x2) are typically bad and should be avoided. How are they bad? Let the Windows Installer team count the ways. During internal audits we question any EXE custom actions (CAs) but inevitably some make it into the product. Typically these EXE CAs are… Read more

What’s New in Windows Installer 4.5: Overview

The What’s New section of the Windows Installer 4.5 CHM available in the downloads section of the Windows Installer 4.5 Beta Connect site has technical details of new functionality and changes as usual, but now that we can talk about Windows Installer 4.5 I wanted to provide an overview of the new functionality. I’ll be… Read more