ServiceInstaller.Install(IDictionary) Método

Definição

Instala o serviço gravando informações do aplicativo de serviço no registro. Esse método deve ser usado pelas ferramentas de instalação, que processam os métodos apropriados automaticamente.

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)

Parâmetros

stateSaver
IDictionary

Um IDictionary que contém as informações de contexto associadas à instalação.

Exceções

A instalação não contém um ServiceProcessInstaller para o executável.

-ou-

O nome do arquivo do assembly é null ou uma cadeia de caracteres vazia.

-ou-

O nome do serviço é inválido.

-ou-

Não foi possível abrir o Gerenciador de Controle de Serviços.

O nome de exibição do serviço tem mais de 255 caracteres de comprimento.

O sistema não pôde gerar um identificador para o serviço.

-ou-

Um serviço com esse nome já está instalado.

Comentários

Normalmente, você não chamará os métodos em ServiceInstaller seu código; eles geralmente são chamados apenas pelo utilitário de instalação. O utilitário de instalação chama automaticamente o método durante a Install instalação. Ele faz backup de falhas, se necessário, chamando Rollback o objeto que gerou a exceção.

A rotina de instalação de um aplicativo mantém informações automaticamente sobre os componentes que já foram instalados, usando o instalador do Installer.Contextprojeto. Essas informações de estado, passadas Install como o stateSaver parâmetro, são atualizadas continuamente como a ServiceProcessInstaller instância e cada ServiceInstaller instância é instalada pelo utilitário. Geralmente, é desnecessário que seu código modifique explicitamente essas informações de estado.

A ServiceProcessInstaller classe de instalação associada ao projeto instala informações comuns a todas as ServiceInstaller instâncias do projeto. Se esse serviço tiver algo que o separe dos outros serviços no projeto de instalação, essas informações específicas do serviço serão instaladas por esse método.

Para instalar um serviço, crie uma classe de instalador de projeto que herda da Installer classe e defina o RunInstallerAttribute atributo na classe como true. Em seu projeto, crie uma ServiceProcessInstaller instância por aplicativo de serviço e uma ServiceInstaller instância para cada serviço no aplicativo. No construtor da classe do instalador de projeto, defina as propriedades de instalação do serviço usando as ServiceProcessInstaller instâncias e ServiceInstaller as instâncias e adicione as instâncias à Installers coleção.

Note

É recomendável que você use o construtor para adicionar instâncias do instalador; no entanto, se você precisar adicionar à Installers coleção no Install método, certifique-se de executar as mesmas adições à coleção no Uninstall método.

Para todas as classes derivadas da Installer classe, o estado da Installers coleção deve ser o mesmo nos métodos e Install nos Uninstall métodos. No entanto, você pode evitar a manutenção da coleção entre os Install métodos e Uninstall se adicionar instâncias do Installers instalador à coleção no construtor de classe do instalador personalizado.

Aplica-se a

Confira também