Tabela ServiceControl

A tabela ServiceControl é usada para controlar os serviços instalados ou desinstalados.

Observação

Os serviços que dependem da presença de um assembly no GAC (Cache de Assembly Global) não podem ser instalados nem iniciados por meio das tabelas ServiceInstall e ServiceControl. Se você precisar iniciar um serviço que dependa de um assembly no GAC, precisará usar uma ação personalizada sequenciada após a ação InstallFinalize ou uma ação personalizada de confirmação. Para obter informações sobre como instalar assemblies no GAC, confira Instalação de assemblies no Cache de Assembly Global.

 

A tabela ServiceControl tem as colunas a seguir.

Coluna Tipo Chave Nullable
ServiceControl Identificador S N
Nome Formatted N N
Evento Inteiro N N
Argumentos Formatted N S
Aguarde Inteiro N S
Component_ Identificador N N

 

Colunas

ServiceControl

Essa é a chave primária dessa tabela.

Name

Essa coluna é a cadeia de caracteres que nomeia o serviço. Essa coluna pode ser usada para controlar um serviço que não está instalado.

Event

Essa coluna contém as operações a serem executadas no serviço nomeado. Observe que, quando um serviço é interrompido, todos os serviços que dependem dele também são interrompidos. Quando um serviço em execução é excluído, o instalador interrompe o serviço.

Os valores desse campo são campos de bits que podem ser combinados em um só valor que representa várias operações.

Os valores a seguir são usados somente durante uma instalação.

Constante Hexadecimal Decimal Descrição
msidbServiceControlEventStart 0x001 1 Inicia o serviço durante a ação StartServices.
msidbServiceControlEventStop 0x002 2 Interrompe o serviço durante a ação StopServices.
(nenhum) 0x004 4 <reserved>
msidbServiceControlEventDelete 0x008 8 Exclui o serviço durante a ação DeleteServices.

 

Os valores a seguir são usados somente durante uma desinstalação.

Constante Hexadecimal Decimal Descrição
msidbServiceControlEventUninstallStart 0x010 16 Inicia o serviço durante a ação StartServices.
msidbServiceControlEventUninstallStop 0x020 32 Interrompe o serviço durante a ação StopServices.
(nenhum) 0x040 64 <reserved>
msidbServiceControlEventUninstallDelete 0x080 128 Exclui o serviço durante a ação DeleteServices.

 

Arguments

Uma lista de argumentos usada para iniciar os serviços. Os argumentos são separados por caracteres nulos [~]. Por exemplo, a lista de argumentos One, Two e Three é apresentada como: One[~]Two[~]Three.

Wait

Se você deixar esse campo nulo ou inserir um valor igual a 1, isso fará com que o instalador aguarde, no máximo, 30 segundos para que o serviço seja concluído antes de continuar. A espera pode ser usada para permitir um tempo adicional para que um evento crítico retorne um erro de falha. Um valor igual a 0 nesse campo significa aguardar apenas até que o SCM (gerenciador de controle de serviço) informe que esse serviço está em um estado pendente antes de continuar com a instalação.

Component_

Chave externa da primeira coluna da tabela Component.

Comentários

As ações StartServices, StopServices e DeleteServices nas tabelas de sequência processam as informações dessa tabela. Para obter informações sobre como usar tabelas de sequência, confira Como usar uma tabela de sequência.

Use a coluna Name para iniciar, interromper ou excluir serviços que estão sendo substituídos pela instalação ou que dependem de um novo serviço que está sendo instalado. Por exemplo, a inserção de MyService na coluna ServiceControl pode vincular esse serviço ao MyComponent na coluna Component_. Se o campo de bits na coluna Event for definido para inicialização durante a instalação, o instalador iniciará MyService ao instalar o MyComponent.

Validação

ICE03
ICE06
ICE32
ICE45
ICE46
ICE69