ServiceControl-Tabelle

Die ServiceControl-Tabelle wird verwendet, um installierte oder deinstallierte Dienste zu steuern.

Hinweis

Dienste, die auf dem Vorhandensein einer Assembly im globalen Assemblycache (GAC) basieren, können nicht mithilfe der Tabellen ServiceInstall und ServiceControl installiert oder gestartet werden. Wenn Sie einen Dienst starten müssen, der von einer Assembly im GAC abhängt, müssen Sie eine benutzerdefinierte Aktion verwenden, die nach der InstallFinalize-Aktion oder einer benutzerdefinierten Commitaktion sequenziert ist. Informationen zum Installieren von Assemblys im GAC finden Sie unter Installation von Assemblys im globalen Assemblycache.

Die ServiceControl-Tabelle enthält die folgenden Spalten.

Spalte Typ Schlüssel Nullwerte zulässig
ServiceControl Identifier J N
Name Formatiert N N
Ereignis Integer N N
Argumente Formatiert N J
Warten Integer N J
Komponente_ Identifier N N

Spalten

ServiceControl

Dies ist der Primärschlüssel dieser Tabelle.

Namen

Diese Spalte ist die Zeichenfolge, die den Dienst bezeichnet. Diese Spalte kann verwendet werden, um einen Dienst zu steuern, der nicht installiert ist.

Ereignis

Diese Spalte enthält die Vorgänge, die für den benannten Dienst ausgeführt werden sollen. Beachten Sie, dass beim Beenden eines Diensts auch alle Dienste beendet werden, die von diesem Dienst abhängen. Beim Löschen eines ausgeführten Diensts beendet das Installationsprogramm den Dienst.

Die Werte in diesem Feld sind Bitfelder, die zu einem einzelnen Wert kombiniert werden können, der mehrere Vorgänge darstellt.

Die folgenden Werte werden nur während einer Installation verwendet.

Konstante Hexadezimal Decimal BESCHREIBUNG
msidbServiceControlEventStart 0x001 1 Startet den Dienst während der StartServices-Aktion.
msidbServiceControlEventStop 0x002 2 Beendet den Dienst während der StopServices-Aktion.
(none) 0x004 4 <Reserviert>
msidbServiceControlEventDelete 0x008 8 Löscht den Dienst während der DeleteServices-Aktion.

Die folgenden Werte werden nur während einer Deinstallation verwendet.

Konstante Hexadezimal Decimal BESCHREIBUNG
msidbServiceControlEventUninstallStart 0x010 16 Startet den Dienst während der StartServices-Aktion.
msidbServiceControlEventUninstallStop 0x020 32 Beendet den Dienst während der StopServices-Aktion.
(none) 0x040 64 <Reserviert>
msidbServiceControlEventUninstallDelete 0x080 128 Löscht den Dienst während der DeleteServices-Aktion.

Argumente

Eine Liste von Argumenten zum Starten von Diensten. Die Argumente werden durch NULL-Zeichen [ ~ ] getrennt. Die Liste der Argumente One, Two und Three wird beispielsweise als One [ ~ ] Two [ ~ ] Three aufgelistet.

Warte

Wenn sie dieses Feld null lassen oder den Wert 1 eingeben, wartet das Installationsprogramm maximal 30 Sekunden, bis der Dienst abgeschlossen ist, bevor der Vorgang abgeschlossen wird. Die Wartezeit kann verwendet werden, um zusätzliche Zeit für die Rückgabe eines Fehlerfehlers durch ein kritisches Ereignis zu ermöglichen. Der Wert 0 in diesem Feld bedeutet, nur zu warten, bis der Dienststeuerungs-Manager (Service Control Manager, SCM) meldet, dass sich dieser Dienst in einem ausstehenden Zustand befindet, bevor die Installation fortgesetzt wird.

Komponente_

Externer Schlüssel zu Spalte 1 der Komponententabelle.

Bemerkungen

Die Aktionen StartServices, StopServicesund DeleteServices in Sequenztabellen verarbeiten die Informationen in dieser Tabelle. Informationen zur Verwendung von Sequenztabellen finden Sie unter Verwenden einer Sequenztabelle.

Verwenden Sie die Spalte Name, um Dienste zu starten, zu beenden oder zu löschen, die durch die Installation ersetzt werden oder von einem neuen Dienst abhängig sind, der installiert wird. Wenn Sie z. B. MyService in die ServiceControl-Spalte eingeben, kann dieser Dienst mit MyComponent in der Spalte Component (Komponente) gebunden _ werden. Wenn das Bitfeld in der Spalte Ereignis für den Start während der Installation festgelegt ist, startet das Installationsprogramm MyService bei der Installation von MyComponent.

Validierung

ICE03
ICE06
ICE32
ICE45
ICE46
ICE69