ServiceControl Table

La table ServiceControl est utilisée pour contrôler les services installés ou désinstallés.

Notes

Les services qui s’appuient sur la présence d’un assembly dans le Global Assembly Cache (GAC) ne peuvent pas être installés ou démarrés à l’aide des tables ServiceInstall et ServiceControl. Si vous devez démarrer un service qui dépend d’un assembly dans le GAC, vous devez utiliser une action personnalisée séquencée après l’action InstallerFinalize ou une action personnalisée de validation. Pour plus d’informations sur l’installation d’assemblys dans le GAC, consultez Installation d’assemblys dans le Global Assembly Cache.

 

La table Environment présente les colonnes suivantes.

Colonne Type Clé Nullable
ServiceControl Identificateur O N
Nom Formatted N N
Événement Integer N N
Arguments Formatted N O
Wait Integer N O
Component_ Identificateur N N

 

Colonnes

ServiceControl

Il s’agit de la clé primaire de cette table.

Nom

Cette colonne est la chaîne qui nomme le service. Cette colonne peut être utilisée pour contrôler un service qui n’est pas installé.

Événement

Cette colonne contient les opérations à effectuer sur le service nommé. Notez que lors de l’arrêt d’un service, tous les services qui dépendent de ce service sont également arrêtés. Lors de la suppression d’un service en cours d’exécution, le programme d’installation arrête le service.

Les valeurs de ce champ sont des champs de bits qui peuvent être combinés en une seule valeur représentant plusieurs opérations.

Les valeurs suivantes sont utilisées uniquement pendant une installation.

Constante Valeur hexadécimale Decimal Description
msidbServiceControlEventStart 0x001 1 Démarre le service pendant l’action DémarrerServices.
msidbServiceControlEventStop 0x002 2 Arrête le service pendant l’action ArrêterServices.
(aucun) 0x004 4 <reserved>
msidbServiceControlEventDelete 0x008 8 Supprime le service pendant l’action SupprimerServices.

 

Les valeurs suivantes sont utilisées uniquement pendant une désinstallation.

Constante Valeur hexadécimale Decimal Description
msidbServiceControlEventUninstallStart 0x010 16 Démarre le service pendant l’action DémarrerServices.
msidbServiceControlEventUninstallStop 0x020 32 Arrête le service pendant l’action ArrêterServices.
(aucun) 0x040 64 <reserved>
msidbServiceControlEventUninstallDelete 0x080 128 Supprime le service pendant l’action SupprimerServices.

 

Arguments

Liste d’arguments pour démarrer des services. Les arguments sont séparés par des caractères null [~]. Par exemple, la liste des arguments Un, Deux et Trois est répertoriée sous la forme : Un[~]Two[~]Three.

Wait

Si vous laissez ce champ null ou si vous entrez la valeur 1, le programme d’installation attend au maximum 30 secondes pour que le service se termine avant de continuer. L’attente peut être utilisée pour accorder un délai supplémentaire à un événement critique pour retourner une erreur d’échec. La valeur 0 dans ce champ signifie attendre uniquement que le gestionnaire de contrôle de service (SCM) signale que ce service est dans un état en attente avant de poursuivre l’installation.

Composant_

Clé externe à la colonne 1 de la table Component.

Notes

Les actions StartServices, StopServices et DeleteServices dans les tables séquentielles traitent les informations contenues dans ce tableau. Pour plus d’informations sur l’utilisation des tables de séquence, consultez Utilisation d’une table de séquences.

Utilisez la colonne Nom pour démarrer, arrêter ou supprimer des services qui sont remplacés par l’installation ou qui dépendent d’un nouveau service en cours d’installation. Par exemple, l’entrée de MyService dans la colonne ServiceControl peut lier ce service à MyComponent dans la colonne Component_. Si le champ bit dans la colonne Événement est défini pour démarrer lors de l’installation, le programme d’installation démarre MyService lors de l’installation de MyComponent.

Validation

ICE03
ICE06
ICE32
ICE45
ICE46
ICE69