Visual Studio Setup

Installation and containerization of the Visual Studio family of products

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 provide a better experience – ...

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 v3 Beta release page. (The ...

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 ...

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 ...

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 ...

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 ...