Share via


Deploying a Shell Instance

When you create a VSPackage to extend Visual Studio, you can deploy your VSPackage in Visual Studio, the Visual Studio Shell (integrated mode) or the Visual Studio Shell (isolated mode). The following provides an overview of each scenario.

Targeting Visual Studio

Targeting Visual Studio is the same as in earlier releases of the Visual Studio SDK. For more information, see VSPackage Development and Deployment Considerations.

Note

Visual Studio Express editions are not extensible.

Targeting the Visual Studio Shell (integrated mode)

Development and deployment of VSPackages for the integrated Shell resembles the Visual Studio scenario. To create the Shell, your Setup program must include the Visual Studio 2008 Shell (integrated mode) Redistributable Package, and also your VSPackage and any other assets that you may have. A shell load key is not required when you deploy the integrated Shell.

The Visual Studio Shell (isolated mode)

Creating a VSPackage for the isolated Shell differs from the other scenarios in the following two ways:

  • You must create your own stub .exe.

  • VSPackages are registered differently.

There is both source-level and binary-level compatibility for VSPackages across Visual Studio and the Visual Studio Shell.

The isolated Shell stub .exe file is logically equivalent to the Visual Studio devenv.exe. The stub .exe is automatically created by the New Project wizard when you create a Visual Studio Shell Isolated project.

Your Setup program must install this stub .exe, your VSPackage, and the redistributable Shell package.

You must also include a package definition (.pkgdef) file that contains the registry information that you would typically apply to the system registry if you were targeting Visual Studio or the integrated Shell. If you are using the managed package framework (MPF) for your extension, you can produce package definition files by using the /pkgdeffile switch with the regpkg.exe tool that is included in the Visual Studio SDK. For more information, see the Walkthrough: A Basic Isolated Shell Application.

You must put the .pkgdef file in a special folder together with your VSPackage binary. Your instance of the stub .exe automatically detects and installs your VSPackage when you run it by using the /setup switch. You typically run <yourStubName>.exe /setup as a custom action in your Setup program.

Other Considerations

Both of the Shell redistributables update the .NET Framework. On some operating systems, this may require the user to restart their computer to complete the installation. However, both redistributables call Windows Installer with the /norestart switch. Therefore, if you deploy a product that installs both the integrated and isolated Shell redistributables, prompt the user to restart their computer before installing the second redistributable. If the target computer is not restarted before installing the second redistributable, Windows Installer might return an ERROR_SUCCESS_REBOOT_REQUIRED (3010) error at that time.

See Also

Tasks

Walkthrough: A Basic Isolated Shell Application

Concepts

Visual Studio Shell-Based Applications

Deploying an Isolated Shell-Based Application on a 64-Bit Operating System

Change History

Date

History

Reason

July 2008

Added information about the Windows Installer /norestart switch.

Content bug fix.