Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Latest posts

Nov 15, 2005
Post comments count 0
Post likes count 0

Windows Installer Supportability

Heath Stewart

Because newer versions of Windows Installer are released with new functionality dependent on operating system features, and older versions of Windows reach the end of their support lifecycle, different versions of Windows Installer are supported on different versions of Windows. Below is the supportability matrix for what versions of Windows Installer shipped on what versions of Windows, as well as the latest version of Windows Installer that is supported at the time this information was posted.

Nov 15, 2005
Post comments count 0
Post likes count 0

Setup Troubleshooting Guide Applicable for Patches, Too

Heath Stewart

Aaron Stebner has posted a compilation of links to many great posts about troubleshooting setup issues regarding, primarily, Visual Studio 2005 and the .NET Framework 2.0. It's important to note that much of this is relevant to patch issues, too; though, I suspect you'll see far fewer of these than with previous releases because of the many changes we've made, including removal of most custom code and simplification of our patch wrapper (which is primarily responsible for making sure the patch applies to all applicable installed products without rebooting in between).Because both Visual Studio 2005 and the Framew...

Nov 10, 2005
Post comments count 0
Post likes count 0

Save Time when Installing Patches

Heath Stewart

Beginning with Windows Installer 3.0 you can install multiple patches at once, i.e. in a single install transaction. To do this you pass a semicolon-delimited list of fully-qualified paths to patches to the property. Windows Installer 2.0-style patches are sequenced first in the ordered specified, but then 3.0-style patches are sequenced according to information in each of their tables and superseded accordingly, as documented in How Patches Work.This can save a lot of time for many products. The Microsoft .NET Framework 2.0, for example, synchronously generates native images for many assemblies it installs. Th...

Oct 24, 2005
Post comments count 0
Post likes count 0

Windows Installer on 64-bit Platforms

Heath Stewart

Beginning with Windows Installer 2.0 installation developers can write installation packages that target 64-bit platforms. At first only IA64 was supported but support for AMD64 — now collectively referred to along with EM64T as x64 — was added in Windows Installer 3.0. Many questions are asked regarding how to author 64-bit packages and merge modules so I will attempt to enumerate and briefly explain the available resources here.The point of authoring a package differently for 64-bit platforms is to deploy 64-bit binaries and write registry values for 64-bit access correctly. While you can install a ...

Oct 20, 2005
Post comments count 0
Post likes count 0

Logging for the New Patch Wrapper

Heath Stewart

One of several apparent improvements for the new patch wrapper is better logging support. More often than not if a problem occurred while trying to install the patch it was difficult to diagnose because there was no logs for the patch installation itself. A user would have to extract the .msp file and install it using msiexec.exe and pass verbose logging options, or would have to enabled the Windows Installer logging policy and find the right MSI*.log file in their his or her %TEMP% directory. Now all logs are created by default for both the wrapper and the patch itself.The new patch wrapper will create a verbose...

Oct 19, 2005
Post comments count 0
Post likes count 0

Patch Wrapper Improvements

Heath Stewart

A new patch wrapper will be shipping for patches targeting the Microsoft .NET Framework 2.0 and Visual Studio 2005. A lot of work went into simplifying the wrapper and removing managed code, as well as standardizing the command-line options.The previous patch wrapper for the .NET Framework 1.0 and 1.1, and Visual Studio .NET 2002 and 2003, supported the following command-line options: Because the patch wrapper actually reconstituted the .msp while extracting via the /Xp command-line option you couldn't just grab the .msp out of the patch using an unzip application. Doing so will result in an unusually smal...

Oct 19, 2005
Post comments count 0
Post likes count 0

ARPSYSTEMCOMPONENT and Sequencing

Heath Stewart

Sequencing Windows Installer patches is typically straight forward but when the original product install or a previous, non-superseded patch defines as 1 in the Property table a custom supersedence plan is necessary to support writing Add/Remove Program registry keys correctly with patch supersedence and sequencing in mind.

Oct 19, 2005
Post comments count 0
Post likes count 0

A Better Way of Working with ARPSYSTEMCOMPONENT

Heath Stewart

Just when you thought the series on was over, I present to you an improved plan for supporting custom supersedence so that you can ship effectively superseded patches and still support N-1 patches, which are patches that apply to the RTM or a previous Service Pack, but are produced after the SP that should supersede them and all other patches that target the RTM or previous SPs.Previously a separate feature was used for each patch but this forced us to add that to via a custom action so users didn't have to specify that and run some standard actions, then do something similar to set . Calling these standard act...

Oct 17, 2005
Post comments count 0
Post likes count 0

Installing Windows Installer on Checked Builds of Windows

Heath Stewart

I mentioned previous that patches for the .NET Framework 2.0 and Visual Studio 2005 will require Windows Installer 3.1 to be installed on Windows 2000, XP, 2003, and future Windows platforms. A reader mentioned that he can't install the Windows Installer 3.1 redistributable on his checked (debug) build of Windows XP SP2. An error dialog was displayed that read, "KB893803v2 Setup cannot update a checked (debug) system with a free (retail) version of KB893803v2, or vice versa."The reason is that update.exe packages only install retail bits on retail builds and checked bits on checked builds. You can spoof Windows p...