Utilisation de la configuration des services

La configuration des services permet à Windows Installer de personnaliser les services sur un ordinateur. Les développeurs peuvent créer un package Windows Installer pour installer, arrêter, démarrer et supprimer des services pendant une installation à l’aide des tables ServiceControl et ServiceInstall et des actions InstallServices, StopServices et DeleteServices.

À compter des packages écrits pour Windows Installer 5.0, les développeurs peuvent également utiliser l’action standard MsiConfigureServices et la table MsiServiceConfig pour configurer les options de personnalisation de service étendues disponibles avec Windows 7 et Windows Server 2008 R2 et Windows Vista et Windows Server 2008. Les packages d’installation existants écrits pour les versions de Windows Installer qui n’incluaient pas la table MsiServiceConfig peuvent toujours être installés à l’aide de Windows Installer 5.0. La fonctionnalité de configuration des services de Windows Installer ne peut pas configurer les comptes de service réseau, installer les processus d’hôte de service partagé (svchost) ou redémarrer les services arrêtés dans le cadre de l’installation.

Windows XP et Windows Server 2003 ou version antérieure : non pris en charge. Les tables de configuration du service et les actions standard sont disponibles à partir de Windows Installer 5.0 s’exécutant sur Windows 7 et Windows Server 2008 R2 et Windows Installer 4.5 s’exécutant sur Windows Vista et Windows Server 2008.

Vous devez inclure l’action MsiConfigureServices dans la table InstallExecuteSequence pour demander les configurations de service que vous spécifiez dans la table MsiServiceConfig. Windows Installer utilise les informations de la table MsiServiceConfig uniquement lorsque l’action standard MsiConfigureServices est incluse dans une table de séquence. L’action standard MsiConfigureServices utilise également des informations dans les tables ServiceControl et ServiceInstall.

Pour demander au système d’accorder uniquement les privilèges requis à un service particulier, spécifiez le service et l’option de configuration SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO dans la table MsiServiceConfig. Supprimez les privilèges inutiles du jeton de processus du service. Cette option peut être utilisée pour configurer les services exécutés dans le contexte de sécurité des comptes d’utilisateur du service LocalSystem, LocalService ou NetworkService.

Pour demander au système de retarder le démarrage automatique d’un service pendant un certain temps après le début de tous les autres services de démarrage automatique, spécifiez le service et l’option SERVICE_CONFIG_DELAYED_AUTO_START dans la table MsiServiceConfig. Le service en cours de retard doit être installé par le package actuel avec SERVICE_AUTO_START spécifié dans la table ServiceInstall ou le service doit déjà être installé en tant que service de démarrage automatique.

Pour demander au système de réserver une ressource pour l’utilisation exclusive d’un service particulier, spécifiez le service, le type de SID de service et l’option de configuration SERVICE_CONFIG_SERVICE_SID_INFO dans la table MsiServiceConfig. Ajoutez le SID du service à la liste de Access Control (ACL) de la ressource.

Pour demander au Gestionnaire de contrôle de service (SCM) d’attendre après avoir envoyé la notification SERVICE_CONTROL_PRESHUTDOWN à un service, procédez comme suit. Spécifiez le service, la durée d’attente du SCM et l’option de configuration SERVICE_CONFIG_PRESHUTDOWN_INFO dans la table MsiServiceConfig.

Pour configurer le moment où le système doit exécuter des actions après l’échec d’un service, spécifiez le service et l’option SERVICE_CONFIG_FAILURE_ACTIONS_FLAG dans la table MsiServiceConfig. Ajoutez les actions à exécuter à la table MsiServiceConfigFailureActions.

Pour plus d’informations sur les fonctionnalités de personnalisation de service étendues introduites avec les systèmes d’exploitation Windows Vista et Windows Server 2008, consultez Modifications de service pour Windows Vista.