Visual Studio 2010 How to: Add Installers to Your Service Application Visual Studio ships installation components that can install resources associated with your service applications. Installation components register an individual service on the system to which it is being installed and let the Services Control Manager know that the service exists. When you work with a service application, you can select a link in the Properties window to automatically add the appropriate installers to your project. Note |
|---|
Property values for your service are copied from the service class to the installer class. If you update the property values on the service class, they are not automatically updated in the installer. |
When you add an installer to your project, a new class (which, by default, is named ProjectInstaller) is created in the project, and instances of the appropriate installation components are created within it. This class acts as a central point for all of the installation components your project needs. For example, if you add a second service to your application and click the Add Installer link, a second installer class is not created; instead, the necessary additional installation component for the second service is added to the existing class. You do not need to do any special coding within the installers to make your services install correctly. However, you may occasionally need to modify the contents of the installers if you need to add special functionality to the installation process. After you add installers to your application, the next step is to create a setup project that will install the compiled project files and run the installers needed to install your service. To create a complete setup project, you must add the service project's output to the setup project and then add a custom action to have your service installed. For more information on setup projects, see Setup and Deployment Projects. For more information on custom actions, see Walkthrough: Creating a Custom Action. Note |
|---|
The dialog boxes and menu commands you see might differ from those described in Help depending on your active settings or edition. To change your settings, choose Import and Export Settings on the Tools menu. For more information, see Working with Settings. |
To add installers to your service applicationIn Solution Explorer, access Design view for the service for which you want to add an installation component. Click the background of the designer to select the service itself, rather than any of its contents. With the designer in focus, right-click, and then click Add Installer. A new class, ProjectInstaller, and two installation components, ServiceProcessInstaller and ServiceInstaller, are added to your project, and property values for the service are copied to the components. Click the ServiceInstaller component and verify that the value of the ServiceName property is set to the same value as the ServiceName property on the service itself. To determine how your service will be started, click the ServiceInstaller component and set the StartType property to the appropriate value. Value | Result |
|---|
Manual | The service must be manually started after installation. For more information, see How to: Start Services. | Automatic | The service will start by itself whenever the computer reboots. | Disabled | The service cannot be started. |
To determine the security context in which your service will run, click the ServiceProcessInstaller component and set the appropriate property values. For more information, see How to: Specify the Security Context for Services. Override any methods for which you need to perform custom processing. Perform steps 1 through 7 for each additional service in your project. Note |
|---|
For each additional service in your project, you must add an additional ServiceInstaller component to the project's ProjectInstaller class. The ServiceProcessInstaller component added in step three works with all of the individual service installers in the project. |
Create your setup project and custom action to deploy and install your service. For more information on setup projects, see Setup and Deployment Projects. For more information on custom actions, see Walkthrough: Creating a Custom Action.

See Also
|
Visual Studio 2010 Gewusst wie: Hinzufügen von Installern zur Dienstanwendung Im Lieferumfang von Visual Studio sind Installationskomponenten enthalten, mit denen Ressourcen installiert werden können, die Dienstanwendungen zugeordnet sind. Von Installationskomponenten wird ein einzelner Dienst auf dem System registriert, auf dem er installiert wird. Dem Dienststeuerungs-Manager wird mitgeteilt, dass der Dienst vorhanden ist. Wenn mit einer Dienstanwendung gearbeitet wird, können die entsprechenden Installationsprogramme über einen Link im Eigenschaftenfenster dem Projekt hinzugefügt werden. Hinweis |
|---|
Eigenschaftswerte für einen Dienst werden aus der Dienstklasse in die Installerklasse kopiert. Wenn Eigenschaftswerte in der Dienstklasse aktualisiert werden, werden sie nicht automatisch im Installationsprogramm aktualisiert. |
Wenn einem Projekt ein Installationsprogramm hinzugefügt wird, wird eine neue Klasse im Projekt erstellt, die den Standardnamen ProjectInstaller aufweist. In ihr werden Instanzen der entsprechenden Installationskomponenten erstellt. Diese Klasse fungiert als zentraler Punkt für alle Installationskomponenten, die für das Projekt benötigt werden. Wenn z. B. ein zweiter Dienst zur Anwendung hinzugefügt und auf den Link Installer hinzufügen geklickt wird, wird keine zweite Installationsprogrammklasse erstellt. Stattdessen werden die für den zweiten Dienst benötigten zusätzlichen Installationskomponenten zur vorhandenen Klasse hinzugefügt. Innerhalb der Installationsprogramme wird keine besondere Codierung für die richtige Installation von Diensten benötigt. Es kann jedoch durchaus notwendig werden, die Inhalte von Installationsprogrammen zu ändern, wenn spezielle Funktionen zum Installationsvorgang hinzugefügt werden müssen. Wenn Sie der Anwendung Installationsprogramme hinzugefügt haben, erstellen Sie im nächsten Schritt ein Setup-Projekt, mit dem die kompilierten Projektdateien installiert und die zum Installieren des Diensts benötigten Installationsprogramme ausgeführt werden. Zum Erstellen eines vollständigen Setup-Projekts müssen Sie die Ausgabe des Dienstprojekts zum Setup-Projekt hinzufügen und dann eine benutzerdefinierte Aktion einfügen, um den Dienst zu installieren. Weitere Informationen über Setup-Projekte finden Sie unter Setup- und Bereitstellungsprojekte. Weitere Informationen über benutzerdefinierte Aktionen finden Sie unter Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Aktion. Hinweis |
|---|
Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen. |
So fügen Sie Installationsprogramme zu Dienstanwendungen hinzuÖffnen Sie im Projektmappen-Explorer die Entwurfsansicht für den Dienst, dem eine Installationskomponente hinzugefügt werden soll. Klicken Sie auf den Hintergrund des Designers, um den Dienst selbst, nicht aber den Inhalt zu markieren. Klicken Sie mit der rechten Maustaste, wenn der Designer den Fokus hat, und klicken Sie dann auf Installer hinzufügen. Eine neue Klasse, ProjectInstaller, und zwei Installationskomponenten, ServiceProcessInstaller und ServiceInstaller, werden dem Projekt hinzugefügt. Außerdem werden Eigenschaftswerte für den Dienst in die Komponenten kopiert. Klicken Sie auf die ServiceInstaller-Komponente. Überprüfen Sie, ob die ServiceName-Eigenschaft auf den gleichen Wert festgelegt ist wie die ServiceName-Eigenschaft für den Dienst selbst. Legen Sie fest, wie der Dienst gestartet wird, indem Sie auf die ServiceInstaller-Komponente klicken und die StartType-Eigenschaft auf den entsprechenden Wert festlegen. Wert | Ergebnis |
|---|
Manual | Der Dienst muss nach der Installation manuell gestartet werden. Weitere Informationen finden Sie unter Gewusst wie: Starten von Diensten. | Automatic | Der Dienst wird eigenständig gestartet, wenn der Computer neu gestartet wird. | Disabled | Der Dienst kann nicht gestartet werden. |
Legen Sie den Sicherheitskontext fest, in dem ein Dienst ausgeführt wird, indem Sie auf die ServiceProcessInstaller-Komponente klicken und die entsprechenden Eigenschaftswerte festlegen. Weitere Informationen finden Sie unter Gewusst wie: Angeben des Sicherheitskontexts für Dienste. Überschreiben Sie alle Methoden, für die eine benutzerdefinierte Verarbeitung durchgeführt werden muss. Führen Sie die Schritte 1 bis 7 für jeden zusätzlichen Dienst in dem Projekt durch. Hinweis |
|---|
Für jeden zusätzlichen Dienst im Projekt muss der ProjectInstaller-Klasse des Projekts eine zusätzliche ServiceInstaller-Komponente hinzugefügt werden. Die in Schritt 3 hinzugefügte ServiceProcessInstaller-Komponente funktioniert mit allen Dienstinstallern im Projekt. |
Erstellen Sie das Setup-Projekt und die benutzerdefinierte Aktion, um den Dienst bereitzustellen und zu installieren. Weitere Informationen über Setup-Projekte finden Sie unter Setup- und Bereitstellungsprojekte. Weitere Informationen über benutzerdefinierte Aktionen finden Sie unter Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Aktion.

Siehe auch
|