Experimental Build 

Extensibility Guided Tour Send comments on this topic.
Experimental Build

Glossary Item Box

Visual Studio Experimental Build

All developers know that mistakes and bugs are just a part of developing solutions – especially complex ones. However, one of the last places that a developer wants to introduce a bug is in Visual Studio, especially if the bug would render their development platform useless for future development or require a reinstallation. Therefore, to protect developers from accidentally harming their development environment, the Visual Studio SDK provides a special registry hive of Visual Studio that allows developers to easily and consistently deploy and test their solutions in a sequestered work environment. This special environment is known as Experimental Build, and safeguards developers from setbacks caused by potentially introducing bugs and errors in to Visual Studio while testing and debugging.

Experimental Build Empowers Developers

Experimental Build is nothing more than Visual Studio 2005 running from an alternate registry hive – ensuring an easy recovery from any damage introduced to the experimental environment. Because Experimental Build is a full-featured version of Visual Studio, it provides developers with the freedom to explore and extend Visual Studio 2005 without fear of compromising their development environment. If, during the course of experimenting, a critical bug or destabilizing action is unleashed, the experimental registry hive can be destroyed and recreated with the help of a command line tool that was created specifically for managing the registry hives used by Visual Studio.

How does Experimental Build work?

While most developers start Visual Studio with a click of the mouse (on a shortcut), Visual Studio can be started from the command line – with optional arguments that direct various startup parameters. Installation of the Visual Studio SDK allows Experimental Build to operate by instructing an instance of Visual Studio to start with an alternate registry hive which can be used by developers without fear of crashing or destroying the hive associated with their actual development environment. In conjunction with the option to load instances of Visual Studio against alternate registry hives, the Visual Studio SDK also provides a simple command line tool, VsRegEx.exe, that allows developers to create, manage, and remove experimental registry hives. By default, a single experimental hive (identified with the "Exp" hive suffix), is created through interaction with the tool – though VsRegEx.exe does provide the ability to create and manage multiple hives, which lends itself well to various testing scenarios where different types of environments can be tested and evaluated. VsRegEx.exe also provides the ability to get and set Last Known Good (LKG) points against experimental hives which ads an added measure of protection – as developers can simply reset to a LKG point if they introduce instability during testing or debugging.

Using Experimental Build

Upon installation of the Visual Studio SDK, a clone of the existing Visual Studio registry is created for use as the default experimental hive. Debugging Visual Studio Experimental projects therefore causes them to be launched in the default experimental hive when launched from within Visual Studio – though developers can easily launch an explicit experimental hive by merely launching Visual Studio from the command prompt with the appropriate switch to indicate which hive they wish to use. Additionally, developers can easily create new desktop shortcuts that point to launch various experimental builds as needed as well by simply creating shortcuts to Visual Studio with the appropriate command line switches contained within the shortcut. This provides developers with a great degree of customization and flexibility, and allows them to quickly and easily target known registry configurations as needed – without the fear of destroying their development and build environment.