What is the Visual Studio shell (standalone shell) good for?

91,997

Solution 1

Visual Studio Shell enables developers to rapidly create and distribute their own custom tools by building on a streamlined Visual Studio IDE.

A Visual Studio isolated shell-based application has full access to Visual Studio services and supports customization and branding. There are several ways you can customize a shell-based application, as follows:

  • You can use add-ins and VSPackages to extend an isolated shell-based application just as you would use them to extend Visual Studio itself.
  • To make Visual Studio features and menu command groups available or unavailable, update the .vsct file in the user interface (UI) project of the application.
  • To remove Options pages or other Visual Studio shell components from the application, update the .pkgundef file of the application.
  • To modify other aspects of the appearance or behavior of the shell, update the .pkgdef file of the application.
  • Some aspects of the shell can also be specified when the application is started. To do this, update the parameters in the call to the Start entry point of the appenvstub.dll.

The Visual Studio Shell is freely available as part of the Visual Studio SDK. Visual Studio Shell is royalty-free for building and deploying applications.

Your isolated shell application can be installed on any computer that has the Visual Studio 2008 Shell (isolated mode) Redistributable Package.

Each isolated Shell-based application to be deployed must have a valid shell load key (SLK). The SLK is uniquely related to the application and cannot be used to load any other application. You can obtain SLKs on the Visual Studio Extensibility Developer Center Web site.

After you obtain a shell load key (SLK), you must add it to your Shell project. Follow this procedure to add an SLK to a project that was created by using the Visual Studio Shell Isolated template.

Note: Everything said up to this point has been copied and pasted from various Microsoft documentation pages. A good place to start might be Walkthrough: A Basic Isolated Shell Application.

Solution 2

I would like to mention that SQL Server Management Studio 2012 requires both of these entries in Add/Remove programs:

  1. Microsoft Visual Studio 2010 Shell (Isolated) - ENU
  2. Visual Studio 2010 Prerequisites - English

I know this because I uninstalled them, broke SSMS, and had to repair from the installation media, upon which those 2 items reappeared.

Solution 3

I used the integrated shell to try IronPython at home, without having to install the full VisualStudio trial version. It's a nice IDE if you're used to it.

It seems there is a big difference between the integrated shell and the isolated one.

The integrated shell is an IDE without any programming language installed. If you don't have VisualStudio but want to use a free plugin such as Python Tools for Visual Studio, then you can use the integrated shell.

The isolated shell is well described in Powerlord's answer, it seems to be made for programming software developpers, since it allows branding and modifications of the user interface.

Solution 4

Seems like if you use the stand-alone shell, you could build your product in a way such that it could plug in to Visual Studio. Then, you could distribute your product as a stand-alone with the VS shell), or as an add in to Visual Studio. (just a guess)

Share:
91,997
Cheeso
Author by

Cheeso

I'm a longtime hacker and software practitioner. Creator of IIRF, DotNetZip, ReloadIt, CleanModQueue and a bunch of other Apigee-related tools and scripts. Maintainer of csharp-mode and a few other emacs-y things . I'm a Polyglot: Java, JavaScript, golang, a little PHP, C#, some VB.NET, C, XSLT, Powershell, elisp of course. Currently most of the work I do is JavaScript and NodeJS. I work for Google. We're hiring API geeks around the world. see: https://careers.google.com/jobs#t=sq&q=j&li=20&l=false&jlo=en-US&j=apigee See my blog ...or my Github profile ...or my LinkedIn profile

Updated on September 06, 2020

Comments

  • Cheeso
    Cheeso almost 4 years

    Is it some sort of pre-built GUI scaffolding?
    Why would I Want it instead of a WinForms UI, which is quick to set up?
    What does it give me that I would have to spend time writing?
    Do I get floating windows and docking, like in Visual Studio 2008? Is there a money-cost to using it?
    What does the deployment look like - is my app a standalone EXE, or is it shipped as some sort of one-off package or archive that runs within the shell?
    Is Eclipse RCP a good comparable, and if so, how do they compare?

  • Cheeso
    Cheeso about 15 years
    Hmmm, so it seems that it is primarily intended not as a general purpose UI scaffolding, but as a basis for extending Visual Studio. [I read the VS SDK license; it seems to allow the use of the SDK specifically to build extensions or enhancements to Visual Studio.] And it seems very rich with features, many of which maybe I don't need in a typical app.
  • Only You
    Only You almost 11 years
    @Cheeso You are very right! For an end-user custom tool it does not make any sense having to have VS shell installed on every user PC. Even for developers, if I want to have use SQL Server Management Studio it is a hassle having to have another tool or redist package installed.
  • MickyD
    MickyD over 9 years
    @OnlyYou "if I want to have use SQL Server Management Studio it is a hassle having to have another tool or redist package installed" - SQL Server Management Studio is now "built upon the Visual Studio Isolated Shell". Read more here Features in SQL Server Management Studio
  • Multinerd
    Multinerd over 7 years
    That would explain why removing all VS 2015 components causes ssms 2016 to crash. (Microsoft Visual Studio 2015 Shell (Isolated))
  • TylerH
    TylerH almost 7 years
    @Multinerd This should only have happened for the May 2016 version release and later, which was when SSMS was updated to use the Visual Studio 2015 Isolated Shell.
  • Multinerd
    Multinerd almost 7 years
    @TylerH my post was on march 8 2017 so im not sure which version i had. Im now using SSMS 2017 and it also relies on VS 2015 IS. Heres to hoping it would use 2017 when its released.
  • TylerH
    TylerH almost 7 years
    @Multinerd Right, my comment is expressing confusion regarding you experiencing an issue two months earlier than should have been possible.
  • Multinerd
    Multinerd almost 7 years
    @TylerH Oh, I misread that. There's more than a 2 month difference between May 2016 and March 2017, and its going the other way. 10 months after, not 2 before. =)
  • TylerH
    TylerH almost 7 years
    @Multinerd D'oh... dates are hard X_X
  • nawfal
    nawfal about 6 years
    Dependencies goes like: Microsoft Visual Studio 2015 Shell if SQL Server 2016 Management Studio or higher is installed. Microsoft Visual Studio 2010 Shell if SQL Server 2012/2014 Management Studio is installed. Microsoft Visual Studio 2008 Shell if SQL Server 2008 Management Studio is installed.