Extending the Windows Home Server Console
This section of the tutorial demonstrates how to extend the Windows Home Server Console by creating a Windows Home Server add-in. This sample add-in application adds Console and Settings tabs to the Windows Home Server Console.
There are a few steps you must take in order for your custom tabs to be recognized by Windows Home Server:
The Microsoft.HomeServer.Extensibility namespace contains interfaces that must be implemented in order to extend the Windows Home Server Console. To create a Console tab, you must implement the IConsoleTab interface. To create a Settings tab, you must implement the ISettingsTab interface.
Classes that implement IConsoleTab or ISettingsTab must be public.
To ensure that the Windows Home Server Console recognizes and loads your tab, you must name your .dll file HomeServerConsoleTab.YourTabName.dll. You cannot change the first part of the file name, HomeServerConsoleTab. The second part of the .dll file name, YourTabName, can be any name that you choose and should not be a name that is used by any other tabs. In this way, your tab is distinguished from other tabs. For example, the Shared Folders tab in the Windows Home Server Console is implemented in the .dll file HomeServerConsoleTab.Sharing.dll.
By walking through the sample add-in application in this tutorial, you will see how to set up your solution and implement the necessary methods and properties to create both a Windows Home Server Console tab and an associated Settings tab. Additionally, this section provides a step-by-step guide on how to package the Console and Settings tabs that you create into a Windows Home Server add-in.
The code samples included in this section are for learning purposes only. You should not use the code contained here for use in a production environment.
Windows Home Server Add-Ins
A Windows Home Server add-in is an application that provides additional features and functionality for Windows Home Server. For example, an add-in might add a new Console tab to the Windows Home Server Console, so that you can manage a new service or feature. Add-ins may or may not add Console or Settings tabs to the Windows Home Server Console, but all add-ins must be installed through the Windows Home Server Console.
Windows Home Server add-ins are based on the Windows Installer (formerly known as the Microsoft Installer, or MSI). You deploy an Add-in through an MSI package that you copy to the \\ServerName\Software\Add-ins folder on the server (where ServerName is the name of the computer running Windows Home Server). MSI packages that conform to the Windows Home Server MSI requirements and that are placed in this folder are visible in the Windows Home Server Settings dialog on the Add-ins tab, in the Available section.
For more information about creating MSI packages that conform to Windows Home Server MSI requirements, see the topic Deploying an Add-In.
Users can then install and uninstall an add-in by using the Windows Home Server Settings dialog.
Users should use only the Windows Home Server Settings dialog to install or uninstall an add-in. Other methods of installation and uninstallation are not supported.
In this section
This section includes the following topics:
Setting Up an Add-In Solution: Set up a Visual Studio solution and configure the properties for a class library project.
Creating a Console Tab: Create the user interface (UI) and write the code for a Console tab.
Creating a Settings Tab: Create the user interface (UI) and write the code for a simple Settings tab.
Deploying an Add-In: Create an MSI package to deploy a Windows Home Server add-In.