ServiceInstaller.Install(IDictionary) Método

Definição

Instala o serviço escrevendo as informações da aplicação do serviço no registo. Este método destina-se a ser utilizado por ferramentas de instalação, que processam automaticamente os métodos apropriados.

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

E IDictionary que contém a informação de contexto associada à instalação.

Exceções

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

-ou-

O nome do ficheiro para o assembly é null ou uma string vazia.

-ou-

O nome do serviço é inválido.

-ou-

O Gestor de Controlo de Serviço não pôde ser aberto.

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

O sistema não conseguia gerar um handle para o serviço.

-ou-

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

Observações

Normalmente, não vais chamar os métodos no ServiceInstaller teu código; geralmente são chamados apenas pela ferramenta de instalação. A ferramenta de instalação chama automaticamente o Install método durante a instalação. Recua falhas, se necessário, apelando Rollback ao objeto que gerou a exceção.

A rotina de instalação de uma aplicação mantém automaticamente informações sobre os componentes que já estavam instalados, utilizando o arquivo do Installer.Contextinstalador do projeto. Esta informação de estado, passada Install como parâmetro stateSaver , é continuamente atualizada como instância ServiceProcessInstaller e cada ServiceInstaller instância é instalada pela utilidade. Normalmente não é necessário que o seu código modifique explicitamente esta informação de estado.

A ServiceProcessInstaller classe de instalação associada ao seu projeto fornece informações comuns a todas ServiceInstaller as instâncias do projeto. Se este serviço tiver algo que o diferencie dos outros serviços no projeto de instalação, essa informação específica do serviço é instalada por este método.

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

Note

Recomenda-se que utilize o construtor para adicionar instâncias de instalador; No entanto, se precisares de acrescentar à Installers coleção no Install método, certifica-te de fazer 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 Install métodos e Uninstall . No entanto, pode evitar a manutenção da coleção ao longo dos Install métodos e Uninstall se adicionar instâncias de instalador à Installers coleção no seu construtor de classes instaladoras personalizadas.

Aplica-se a

Ver também