Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Visual Studio 2010 uninstall utility back online

Four years ago I published a utility to help perform a clean uninstall of Visual Studio 2010. Before we added package reference counting and related bundles to Visual Studio setup, we couldn’t always be sure which products were still required so not everything was removed. This utility will remove everything provided one of a few command...

Unadvertise Features

The attached Windows Script file allows you to unadvertise features in a Windows Installer product by specifying either a ProductCode or the path to an MSP. If any features are advertised - whether incidental or intentional - the product will be reinstalled and those features added locally to your computer. Usage Only one of /Patch or /...

Windows Installer Properties and Conditions

In many languages, some variables can take a value of different types but with the same meaning. Variants in script, for example, can take 0 or false; or they can take any non-zero value and true. The following JScript example prints "Same".The same is not true of Windows Installer however, and conditions must acknowledge this. Setting a ...

Blog Customizations, Part 3: OO JavaScript

Not satisfied by the search feature provided by Community Server I've again created some helpful JavaScript classes this time using object-oriented JavaScript to define a basic search provider and to subclass that for specialized providers like MSN Search. I defined several private properties and several privileged methods that can access ...

Catching Exceptions in JScript.NET

JScript.NET was created to be compatible with JScript while benefiting from and providing access to more robust features of the .NET Framework. If you're accustomed to more oft-used managed languages like C# and VB.NET, catching different types of exception classes should be no stranger. Considering JScript.NET, however, what would you expect ...

Blog Customizations, Part 2

As mentioned earlier, I wanted to persist your preferences for whether certain collapsible panels were in the collapsed or expanded state. With a simple ECMA-compliant wrapper class around and a few minor changes to the class, state for unique panels can be remembered. The cookie wrapper class is pretty straight forward: To initialize the , ...

Blog Customizations

In my seemingly never-ending quest to provide a simple, compact, yet stylish design for this blog I have recently made a customization based on what Josh Ledgard did sometime back to make collapsible panels, though I wanted something more easily reusable. I whipped together an ECMAScript — that is, ECMA-compliant JScript and ...