Verwenden der Dienstkonfiguration

Mit der Dienstkonfiguration kann der Windows Installer die Dienste auf einem Computer anpassen. Entwickler können ein Windows Installer-Paket erstellen, um Dienste zu installieren, zu beenden, zu starten und zu löschen, indem Sie die Tabellen "ServiceControl" und "ServiceInstall" und "InstallServices", "StopServices" und "DeleteServices" verwenden.

Beginnend mit Paketen für Windows Installer 5.0 können Entwickler auch die MsiConfigureServices Standardaktion und die MsiServiceConfig-Tabelle verwenden, um die erweiterten Serviceanpassungsoptionen zu konfigurieren, die mit Windows 7 und Windows Server 2008 R2 und Windows Vista und Windows Server 2008 verfügbar sind. Vorhandene Installationspakete, die für Versionen des Windows Installers geschrieben wurden, die die MsiServiceConfig-Tabelle nicht enthalten haben, können weiterhin mit Windows Installer 5.0 installiert werden. Das Konfigurationsfeature für Dienste des Windows Installers kann keine Netzwerkdienstkonten konfigurieren, gemeinsame Diensthostprozesse (svchost)-Prozesse installieren oder Dienste neu starten, die als Teil der Installation beendet wurden.

Windows XP und Windows Server 2003 oder früher: Nicht unterstützt. Die Dienstkonfigurationstabellen und Standardaktionen sind ab Windows Installer 5.0 verfügbar, die auf Windows 7 und Windows Server 2008 R2 und Windows Installer 4.5 auf Windows Vista und Windows Server 2008 ausgeführt werden.

Sie müssen die MsiConfigureServices-Aktion in die Tabelle "InstallExecuteSequence " einschließen, um die Dienstkonfigurationen anzufordern, die Sie in der MsiServiceConfig-Tabelle angeben. Der Windows Installer verwendet die Informationen in der MsiServiceConfig-Tabelle nur, wenn die Standardaktion MsiConfigureServices in einer Sequenztabelle enthalten ist. Die Standardaktion "MsiConfigureServices" verwendet auch Informationen in den Tabellen "ServiceControl " und "ServiceInstall ".

Um anzufordern, dass das System nur erforderliche Berechtigungen für einen bestimmten Dienst bereitstellt, geben Sie den Dienst und die SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO Konfigurationsoption in der MsiServiceConfig-Tabelle an. Entfernen Sie die nicht benötigten Berechtigungen aus dem Prozesstoken des Diensts. Diese Option kann verwendet werden, um Dienste zu konfigurieren, die im Sicherheitskontext der Benutzerkonten "LocalSystem", "LocalService" oder "NetworkService " ausgeführt werden.

Wenn Sie anfordern möchten, dass das System den automatischen Start eines Diensts nach dem Start aller anderen automatischen Startdienste verzögert, geben Sie den Dienst und die option SERVICE_CONFIG_DELAYED_AUTO_START in der MsiServiceConfig-Tabelle an. Der Dienst, der verzögert wird, muss vom aktuellen Paket mit SERVICE_AUTO_START installiert werden, die in der Tabelle "ServiceInstall " angegeben sind, oder der Dienst muss bereits als Automatischstartdienst installiert werden.

Um anzufordern, dass das System eine Ressource für die exklusive Verwendung eines bestimmten Diensts reserviert, geben Sie den Dienst, den Dienst-SID-Typ und die SERVICE_CONFIG_SERVICE_SID_INFO Konfigurationsoption in der MsiServiceConfig-Tabelle an. Fügen Sie die SID des Diensts zur Access Control Liste (ACL) der Ressource hinzu.

Wenn Sie anfordern möchten, dass der Dienststeuerungs-Manager (Service Control Manager , SCM) nach dem Senden der SERVICE_CONTROL_PRESHUTDOWN Benachrichtigung an einen Dienst wartet, führen Sie die folgenden Schritte aus. Geben Sie den Dienst an, die Zeit, die der SCM warten soll, und die SERVICE_CONFIG_PRESHUTDOWN_INFO Konfigurationsoption in der MsiServiceConfig-Tabelle.

Um zu konfigurieren, wann das System Aktionen nach dem Fehler eines Diensts ausführen soll, geben Sie den Dienst und die option SERVICE_CONFIG_FAILURE_ACTIONS_FLAG in der MsiServiceConfig-Tabelle an. Fügen Sie die Aktionen hinzu, die zur Tabelle "MsiServiceConfigFailureActions" ausgeführt werden sollen.

Weitere Informationen zu den erweiterten Dienstanpassungsfunktionen, die mit den betriebssystemen Windows Vista und Windows Server 2008 eingeführt wurden, finden Sie unter Dienständerungen für Windows Vista.