Verwenden der Dienstkonfiguration
Mit der Dienstkonfiguration kann Windows Installer die Dienste auf einem Computer anpassen. Entwickler*innen können ein Windows Installer-Paket erstellen, um Dienste während einer Installation zu installieren, zu beenden, zu starten und zu löschen. Dazu können die Tabellen ServiceControl und ServiceInstall sowie die Aktionen InstallServices, StopServices und DeleteServices verwendet werden.
Ab Paketen für Windows Installer 5.0 können Entwickler*innen die erweiterten Dienstanpassungsoptionen, die mit Windows 7 und Windows Server 2008 R2 sowie Windows Vista und Windows Server 2008 verfügbar sind, auch mithilfe der Standardaktion MsiConfigureServices und der Tabelle MsiServiceConfig konfigurieren. Vorhandene Installationspakete, die für Versionen von Windows Installer geschrieben wurden, in denen die Tabelle „MsiServiceConfig“ nicht enthalten war, können mit Windows Installer 5.0 weiterhin installiert werden. Das Dienstkonfigurationsfeature von Windows Installer kann keine Netzwerkdienstkonten konfigurieren, svchost-Prozesse (Shared Service Host) installieren oder Dienste neu starten, die im Rahmen 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 unter Windows 7 und Windows Server 2008 R2 sowie Windows Installer 4.5 unter Windows Vista und Windows Server 2008 verfügbar.
Sie müssen die MsiConfigureServices-Aktion in die Tabelle InstallExecuteSequence einschließen, um die in der Tabelle MsiServiceConfig angegebenen Dienstkonfigurationen anzufordern. Der Windows Installer verwendet die Informationen in der Tabelle „MsiServiceConfig“ nur, wenn die Standardaktion MsiConfigureServices in einer Sequenztabelle enthalten ist. Die Standardaktion MsiConfigureServices verwendet auch Informationen in den Tabellen ServiceControl und ServiceInstall.
Um vom System anzufordern, einem bestimmten Dienst nur erforderliche Berechtigungen zu erteilen, geben Sie den Dienst und die Konfigurationsoption SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO in der Tabelle MsiServiceConfig an. Entfernen Sie die nicht benötigten Berechtigungen aus dem Prozesstoken des Diensts. Mit dieser Option können Dienste konfiguriert werden, die im Sicherheitskontext der Dienstbenutzerkonten LocalSystem, LocalService oder NetworkService ausgeführt werden.
Um vom System anzufordern, den automatischen Start eines Diensts nach dem Start aller anderen automatisch gestarteten Dienste eine Weile zu verzögern, geben Sie den Dienst und die Option SERVICE_CONFIG_DELAYED_AUTO_START in der Tabelle MsiServiceConfig an. Der verzögerte Dienst muss vom aktuellen Paket mit der in der Tabelle ServiceInstall angegebenen Option SERVICE_AUTO_START installiert werden oder bereits als automatisch gestarteter Dienst installiert sein.
Um vom System anzufordern, eine Ressource für die ausschließliche Verwendung eines bestimmten Diensts zu reservieren, geben Sie den Dienst, den Dienst-SID-Typ und die Konfigurationsoption SERVICE_CONFIG_SERVICE_SID_INFO in der Tabelle MsiServiceConfig an. Fügen Sie die SID des Diensts der Zugriffssteuerungsliste (Access Control List, ACL) für die Ressource hinzu.
Um anzufordern, dass der Dienststeuerungs-Manager (SCM) nach dem Senden der Benachrichtigung SERVICE_CONTROL_PRESHUTDOWN an einen Dienst wartet, gehen Sie wie folgt vor. Geben Sie den Dienst, die Dauer der Wartezeit für SCM und die Konfigurationsoption SERVICE_CONFIG_PRESHUTDOWN_INFO in der Tabelle MsiServiceConfig an.
Um zu konfigurieren, wann das System nach dem Ausfall eines Diensts Aktionen ausführen soll, geben Sie den Dienst und die Option SERVICE_CONFIG_FAILURE_ACTIONS_FLAG in der Tabelle MsiServiceConfig an. Fügen Sie die auszuführenden Aktionen der Tabelle MsiServiceConfigFailureActions hinzu.
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.