Customizing the Isolated Shell
You can customize your Visual Studio isolated shell application by changing different aspects of the Visual Studio user interface and by restricting the commands and features included in your specialized application.
The isolated shell template solution includes a SolutionName.Application.pkgdef file that allows you to modify the following features:
You can customize the application title, which is the name that is displayed in the title bar of the application, by changing the value of the "AppName" row in the SolutionName.Application.pkgdef file. For more details, see Walkthrough: Creating a Basic Isolated Shell Application.
If you do not want the application title to display the project that is currently loaded, change the value of the "ShowHierarchyRootInTitle" row in the SolutionName.Application.pkgdef file from dword:00000001 to dword:00000000.
You can customize the application icon, which is the icon that is displayed by the application name in the application title bar. Copy a different icon to the icon directory. In Solution Explorer, add the icon to the Resource Files folder. Then open the VSShellStub.rc file and replace the value of IDI_STUBPROGRAM with the name of the new icon. For more details, see Walkthrough: Creating a Basic Isolated Shell Application.
You can customize the command-line logo, which is the text that appears when the application is started from the command line, by changing the value of the "CommandLineLogo" row in the SolutionName.Application.pkgdef file. For more details, see Walkthrough: Creating a Basic Isolated Shell Application
You can specify whether or not to disable the output window in your application by changing the value of the "DisableOutputWindow" row in the SolutionName.Application.pkgdef file. To disable the output window, set the value dword:00000001, and to show the output window, set the value dword:00000000.
You can specify whether or not to allow dropped files on the main window in your application by changing the value of the "AllowsDroppedFilesOnMainWindow" row in the SolutionName.Application.pkgdef file. To allow dropped files, set the value dword:00000001, and to disallow dropped files, set the value dword:00000000.
You can customize the home page by changing the value of the "DefaultHomePage" row in the SolutionName.Application.pkgdef file. For more details, see Walkthrough: Creating a Basic Isolated Shell Application
You can specify whether or not to show the hierarchy root in the title bar in your application by changing the value of the "ShowHierarchyRootInTitle" row in the SolutionName.Application.pkgdef file. To show the hierarchy root, set the value dword:00000001, and to hide the hierarchy root, set the value dword:00000000.
To specify a start page for your custom application, in the SolutionName.Application.pkgdef file, set the "DisableStartPage" value to dword:00000000, and under [$RootKey$\StartPage\Default] set the URI to the location of the .xaml file:
DisableStartPage=dword:00000000 [$RootKey$\StartPage\Default] "Uri"="$RootFolder$\<name of XAML file>"
In the Applicationcommands.vsct file in the SolutionNameUI project, comment out the "No_ShellPkg_startPageCommand" entry:
<!--<Define name="No_ShellPkg_StartPageCommand"/>-->
You must add the .xaml file, and any graphics files you need, to the SolutionName project. These files must actually be copied to the SolutionName project directory, not added from some other directory.
On all the files, set the Item Type property to Isolated Shell File in order for the files to be copied to the $RootFolder$ directory. (To set the Item Type property, right-click the file and select Properties. This property is found under Configuration Properties, General.)
For more information on customizing start pages, see Custom Start Pages.
You can use other files and projects that are included in the isolated shell solution template to further customize your application.
The SolutionName.pkgundef file allows you to disable certain kinds of Visual Studio functionality by excluding certain packages. For example, the following line:
[$RootKey$\Projects\{A2FE74E1-B743-11d0-AE1A-00A0C90FFFC3}\AddItemTemplates\TemplateDirs\{39c9c826-8ef8-4079-8c95-428f5b1c323f}]
removes the Miscellaneous Files project from the set of project templates displayed in the New Project dialog. For more details, see Walkthrough: Creating a Basic Isolated Shell Application.
The SolutionNameUI.vsct file includes a commented-out list of all the menu commands available to the isolated shell. To disable a given command, uncomment the corresponding row. For example, to disable the Window/Split comment, uncomment the <Define name="No_SplitCommand"/> row. For more details, see Walkthrough: Creating a Basic Isolated Shell Application.
You can customize the bitmap used on the splash screen, which is the window that is displayed when the application is started, by changing the value of the "SplashScreenBitmap" row in the SolutionName.Application.pkgdef file. For more details, see Walkthrough: Creating a Basic Isolated Shell Application.
In the isolated shell template there is a separate project you can use to customize the Help/About box for your application. For more details, see Walkthrough: Creating a Basic Isolated Shell Application.