ServiceInstaller.Install Method

Installs the service by writing service application information to the registry. This method is meant to be used by installation tools, which process the appropriate methods automatically.

Namespace: System.ServiceProcess
Assembly: System.ServiceProcess (in system.serviceprocess.dll)

public override void Install (
	IDictionary stateSaver
)
public void Install (
	IDictionary stateSaver
)
public override function Install (
	stateSaver : IDictionary
)

Parameters

stateSaver

An IDictionary that contains the context information associated with the installation.

Exception typeCondition

Exception

The installation does not contain a ServiceProcessInstaller for the executable.

-or-

The assembly to install could not be found.

-or-

The service name is invalid.

-or-

The Service Control Manager could not be opened.

Win32Exception

The system could not generate a handle to the service.

Normally, you will not call the methods on ServiceInstaller within your code; they are generally called only by the install utility. The install utility automatically calls the Install method during installation. It backs out failures, if necessary, by calling Rollback on the object that generated the exception.

An application's install routine maintains information automatically about the components that were already installed, using the project installer's Installer.Context. This state information, passed into Install as the stateSaver parameter, is continuously updated as the ServiceProcessInstaller instance and each ServiceInstaller instance is installed by the utility. It is usually unnecessary for your code to modify this state information explicitly.

The ServiceProcessInstaller associated with your project installation class installs information common to all ServiceInstaller instances in the project. If this service has anything that separates it from the other services in the installation project, that service-specific information is installed by this method.

To install a service, create a project installer class that inherits from the Installer class, and set the RunInstallerAttribute attribute on the class to true. Within your project, create one ServiceProcessInstaller instance per service application, and one ServiceInstaller instance for each service in the application. Within your project installer class constructor, set the installation properties for the service using the ServiceProcessInstaller and ServiceInstaller instances, and add the instances to the Installers collection.

NoteNote

   It is recommended that you use the constructor for adding installer instances; however, if you need to add to the Installers collection in the Install method, be sure to perform the same additions to the collection in the Uninstall method.

For all classes deriving from the Installer class, the state of the Installers collection must be the same in the Install and Uninstall methods. However, you can avoid the maintenance of the collection across the Install and Uninstall methods if you add installer instances to the Installers collection in your custom installer class constructor.

  • Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see .

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions

ADD
Show: