Como usar a configuração de serviços

A configuração de serviços permite que o Windows Installer personalize os serviços em um computador. Os desenvolvedores podem criar um pacote do Windows Installer para instalar, parar, iniciar e excluir serviços durante uma instalação usando as tabelas ServiceControl e ServiceInstall e as ações InstallServices, StopServices e DeleteServices.

A partir pacotes gravados para Windows Installer 5.0, os desenvolvedores também podem usar a ação padrão MsiConfigureServices e a tabela MsiServiceConfig para configurar as opções de personalização de serviço estendido disponíveis com o Windows 7, Windows Server 2008 R2, Windows Vista e Windows Server 2008. Os pacotes de instalação existentes gravados para versões do Windows Installer que não incluíram a tabela MsiServiceConfig ainda podem ser instalados usando o Windows Installer 5.0. O recurso de configuração de serviços do Windows Installer não pode configurar contas de serviço de rede, instalar processos de host de serviço compartilhado (svchost) ou reiniciar serviços interrompidos como parte da instalação.

Windows XP e Windows Server 2003 ou anterior: sem suporte. As tabelas de configuração de serviço e as ações padrão estão disponíveis a partir do Windows Installer 5.0 em execução no Windows 7 e no Windows Server 2008 R2 e no Windows Installer 4.5 em execução no Windows Vista e no Windows Server 2008.

Você deve incluir a ação MsiConfigureServices na tabela InstallExecuteSequence para solicitar as configurações de serviço especificadas na tabela MsiServiceConfig. O Windows Installer usa as informações na tabela MsiServiceConfig somente quando a ação padrão MsiConfigureServices é incluída em uma tabela de sequência. A ação padrão MsiConfigureServices também usa as informações nas tabelas ServiceControl e ServiceInstall.

Para solicitar que o sistema forneça apenas os privilégios necessários a um serviço específico, especifique o serviço e a opção de configuração SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO na tabela MsiServiceConfig. Remova os privilégios desnecessários do token de processo do serviço. Essa opção pode ser usada para configurar serviços executados no contexto de segurança das contas de usuário do serviço LocalSystem, LocalService ou NetworkService.

Para solicitar que o sistema atrase o início automático de um serviço por um tempo após o início de todos os outros serviços de início automático, especifique o serviço e a opção SERVICE_CONFIG_DELAYED_AUTO_START na tabela MsiServiceConfig. O serviço atrasado deve ser instalado pelo pacote atual com SERVICE_AUTO_START especificado na tabela ServiceInstall ou o serviço já deve estar instalado como um serviço de início automático.

Para solicitar que o sistema reserve um recurso para o uso exclusivo de um serviço específico, especifique o serviço, o tipo de SID de serviço e a opção de configuração SERVICE_CONFIG_SERVICE_SID_INFO na tabela MsiServiceConfig. Adicione o SID do serviço à ACL (Lista de Controle de Acesso) do recurso para o recurso.

Para solicitar que o SCM (Gerenciador de Controle de Serviço) aguarde até depois de enviar a notificação de SERVICE_CONTROL_PRESHUTDOWN para um serviço e faça o seguinte. Especifique o serviço, o período que o SCM deve aguardar e a opção de configuração SERVICE_CONFIG_PRESHUTDOWN_INFO na tabela MsiServiceConfig.

Para configurar quando o sistema deve executar ações após a falha de um serviço, especifique o serviço e a opção SERVICE_CONFIG_FAILURE_ACTIONS_FLAG na tabela MsiServiceConfig. Adicione as ações a serem executadas à tabela MsiServiceConfigFailureActions.

Para obter mais informações sobre os recursos de personalização de serviço estendido introduzidos com os sistemas operacionais Windows Vista e Windows Server 2008, confira Alterações de serviço para Windows Vista.