Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Latest posts

Sep 8, 2010
Post comments count 0
Post likes count 0

Downgrading Shared Components

Heath Stewart

Shared components define shared resources. It might seem obvious, but it’s important to understand that whatever you do to a shared resource during the installation of one product affects those same resources for any other product. For example, when upgrading one product to update files shared with another product, that other product will use the newer resources such as versioned files. It’s important to test those interactions before you ship to make sure the products can work with newer resources – that the changes to those resources are backward compatible.By default, newer versioned files wi...

Aug 24, 2010
Post comments count 0
Post likes count 0

Comparison of PatchWiz and WiX v3 Patch Build

Heath Stewart

The Windows Installer SDK ships a library named patchwiz.dll. This contains the logic to build a patch from pairs of database packages (.msi files, or simply MSIs) along with other configuration properties. Another tool that the SDK ships is msimsp.exe which uses patchwiz.dll and parses command line options. These tools consume an input file with the same format as a database package but with a different set of tables. This is known as a PCP file (because of the .pcp extension).When we started planning a patch build system for Windows Installer XML (WiX), we considered building a new system that is completely und...

Aug 23, 2010
Post comments count 1
Post likes count 0

Visual Studio 2010 Uninstall Utility

Heath Stewart

While we hope you’ll love Visual Studio 2010 for all the application development it enables with powerful features and a robust extension model that enables great extensions like the Productivity Power Tools, if you ever need to uninstall Visual Studio it can be difficult. If you’ve ever tried to remove Visual Studio you already know this.But have a tool that can help for English installations: the Visual Studio 2010 Uninstall Utility.An excerpt from that page reads, Default (VS2010_Uninstall-RTM.ENU.exe) Uninstalls all top level products of 2010 release and its supporting components. This mode does n...

Aug 21, 2010
Post comments count 0
Post likes count 0

Customizing Shortcuts for Visual Studio

Heath Stewart

After installing the last several releases of Visual Studio, you’ll find shortcuts to command prompts that automatically set up the PATH, INCLUDE, LIB, and other environment variables. At least with Visual Studio 2010 these command prompts have larger buffers and enable quick edit mode, but some people like to customize these shortcuts to their liking.Since Visual Studio installs for all users, these shortcuts are protected and can only be edited by administrators. In Windows 7 you are simply prompted to elevate; however, in Windows Vista with UAC enabled, when you try to edit the shortcut you may see the f...

May 4, 2010
Post comments count 0
Post likes count 0

Detection keys for .NET Framework 4.0 and Visual Studio 2010

Heath Stewart

Now that Microsoft .NET Framework 4.0 and Visual Studio 2010 have been released, developers may wonder how to detect them on the system. As with previous releases, we support registry detection of either product family and Windows Installer component detection for Visual Studio. Detecting either product uses a separate set of supported keys. .NET Framework 4.0 The .NET Framework has and continues to use registry keys and values under . To detect .NET Framework 4.0, you can check if the following key is present and the value is set to 1. The core .NET Framework 4.0 package is English, so 1033 is always available....

Apr 9, 2010
Post comments count 0
Post likes count 0

Major Upgrades with Shared Components

Heath Stewart

Major upgrades are Windows Installer products that can be installed like any other product with the added benefit of removing one ore more related products. For example, version 2 of a product can be installed on a clean machine, or on a machine with version 1 already installed and will remove version 1.When another version of a product is removed depends on where you schedule RemoveExistingProducts. If you schedule the action late – either before or after InstallFinalize – shared components are a potential factor when developing your product installation. But before going into detail, let’s fir...

Feb 26, 2010
Post comments count 0
Post likes count 0

Testing for components that install under TARGETDIR

Heath Stewart

A while back I explained how Windows Installer sets the TARGETDIR property to the root of the fixed drive with the most free space available. The problem is that even an attached USB external drive can appear as a fixed drive, and these may be later detached. If components are installed to that drive and the drive is detached, repairing, patching, or even uninstalling the product may fail because the components are not available and cannot be updated or removed. This is also one potential reason Windows Installer may trigger a repair after a failed resiliency check. The problem is that this can be difficult to te...

Feb 15, 2010
Post comments count 0
Post likes count 0

Test your conditions

Heath Stewart

When testing the serviceability of your product before you ship, it’s important to test any conditions you might have on the product, features, components, and actions.Feature conditions can set the install level of a feature when the package is installed. But as the Condition table documentation states, be sure that the condition does not evaluate to False at any time after the feature is installed. Once the feature is installed, the condition is used merely to inform Windows Installer whether it is installed or not. If Windows Installer does not think the feature is installed locally, is will not reinstal...

Feb 14, 2010
Post comments count 0
Post likes count 0

Serviceability

Heath Stewart

It’s always important to test your product before it ships. Servicing it later can prove very costly and very difficult. It’s no different with your installation packages. You need to test not only basic install and uninstall operations, but also test your servicing plan. Problems are inevitable in practically any application, and you may even need to add in additional features. So test that you can before your product ships.Before testing your product deployment, you need to define and document what you will conceivably support. Many of the following options supported by Windows Installer are also su...