Partager via


ServiceInstaller.Install(IDictionary) Méthode

Définition

Installe le service en écrivant les informations relatives aux applications de service dans le Registre. Cette méthode est destinée à être utilisée par les outils d'installation qui traitent automatiquement les méthodes appropriées.

public:
 override void Install(System::Collections::IDictionary ^ stateSaver);
public override void Install (System.Collections.IDictionary stateSaver);
override this.Install : System.Collections.IDictionary -> unit
Public Overrides Sub Install (stateSaver As IDictionary)

Paramètres

stateSaver
IDictionary

IDictionary qui contient les informations de contexte associées à l'installation.

Exceptions

L'installation ne contient pas de ServiceProcessInstaller pour l'exécutable.

  • ou - Le nom de fichier de l'assembly est null ou une chaîne vide.

  • ou - Le nom de service n'est pas valide.

  • ou - Le Gestionnaire de contrôle des services est impossible à ouvrir.

Le nom complet du service contient plus de 255 caractères.

Le système n'a pas réussi à générer de handle pour le service.

  • ou -

Un service portant ce nom est déjà installé.

Remarques

Normalement, vous n’appelez pas les méthodes à l' ServiceInstaller intérieur de votre code ; elles sont généralement appelées uniquement par l’utilitaire d’installation. L’utilitaire d’installation appelle automatiquement la Install méthode lors de l’installation. Elle sauvegarde les échecs, le cas échéant, en appelant Rollback sur l’objet qui a généré l’exception.

La routine d’installation d’une application gère automatiquement les informations sur les composants qui ont déjà été installés, à l’aide du programme d’installation de projet Installer.Context . Ces informations d’État, passées dans Install en tant que stateSaver paramètre, sont mises à jour en permanence comme l' ServiceProcessInstaller instance de et chaque ServiceInstaller instance est installée par l’utilitaire. Il est généralement inutile que votre code modifie ces informations d’état de manière explicite.

Le ServiceProcessInstaller associé à votre classe d’installation de projet installe les informations communes à toutes les ServiceInstaller instances du projet. Si ce service a quelque chose qui le sépare des autres services du projet d’installation, ces informations spécifiques au service sont installées par cette méthode.

Pour installer un service, créez une classe de programme d’installation de projet qui hérite de la Installer classe et affectez à l' RunInstallerAttribute attribut sur la classe la valeur true . Dans votre projet, créez une ServiceProcessInstaller instance par application de service et une ServiceInstaller instance pour chaque service dans l’application. Dans votre constructeur de classe de programme d’installation de projet, définissez les propriétés d’installation du service à l’aide des ServiceProcessInstaller ServiceInstaller instances et, puis ajoutez les instances à la Installers collection.

Notes

Il est recommandé d’utiliser le constructeur pour ajouter des instances du programme d’installation. Toutefois, si vous devez ajouter à la Installers collection dans la Install méthode, assurez-vous d’effectuer les mêmes ajouts à la collection dans la Uninstall méthode.

Pour toutes les classes dérivant de la Installer classe, l’état de la Installers collection doit être le même dans les Install Uninstall méthodes et. Toutefois, vous pouvez éviter la maintenance de la collection sur les Install Uninstall méthodes et si vous ajoutez des instances du programme d’installation à la Installers collection dans votre constructeur de classe de programme d’installation personnalisé.

S’applique à

Voir aussi