Sichern von Ressourcen

Die Möglichkeit des Windows Installers, Zugriffsberechtigungen für Dienste, Dateien, erstellte Ordner und Registrierungseinträge festzulegen, kann dazu beitragen, Installationsanwendungen sicherer zu machen. Die Verwendung der Tabellen MsiLockPermissionsEx oder LockPermissions zum Sichern von Ressourcen ist eine der empfohlenen Richtlinien für die Erstellung sicherer Installationen. Die MsiLockPermissionsEx-Tabelle kann es einem Paketautor ermöglichen, eine Ressource zu schützen, ohne eine benutzerdefinierte Aktionschreiben zu müssen.

Beginnend mit Paketen, die für Windows Installer 5.0 entwickelt wurden, sollte die MsiLockPermissionsEx-Tabelle die Verwendung der LockPermissions-Tabelle ersetzen. Die von der MsiLockPermissionsEx-Tabelle bereitgestellte erweiterte Funktionalität ermöglicht es einem Paket, Windows Dienste,Dateien, Ordner und Registrierungsschlüssel zu schützen. Ein Paket sollte nicht sowohl die MsiLockPermissionsEx- als auch die LockPermissions-Tabelle enthalten.

Windows Installer 4.5 und früher ignoriert die MsiLockPermissionsEx-Tabelle. Ab Windows Installer 5.0 schlägt die Installation mit der Fehlermeldung 1941 fehl, wenn das Paket sowohl eine LockPermissions-Tabelle als auch eine MsiLockPermissionsEx-Tabelle enthält. Vorhandene Installationspakete, die nur die Tabelle LockPermissions enthalten, können weiterhin mit Windows Installer 5.0 installiert werden.

Windows Installer 5.0 verarbeitet die Informationen in der MsiLockPermissionsEx-Tabelle, wenn die Standardaktionen InstallFiles, InstallServices, WriteRegistryValues und CreateFolders ausgeführt werden. Ein sicherungsfähiges Objekt muss installiert oder neu installiert werden, um gesichert zu werden, und es ist nicht möglich, eine Access Control List (ACL) an ein vorhandenes Objekt anzufügen, ohne dieses Objekt neu zu installieren.

Geben Sie zum Angeben des Diensts, der Datei, des Verzeichnisses oder des Registrierungsschlüssels, der geschützt werden soll, die identifizierenden Informationen in die Felder LockObject und Table der Tabelle MsiLockPermissionsEx ein. Ein Objekt wird durch seinen Primärschlüssel in der ServiceInstall-Tabelle, der Dateitabelle,der Registrierungstabelleoder der CreateFolder-Tabelleidentifiziert.

Um anzufordern, dass die angegebenen Berechtigungen für ein Objekt gelten, geben Sie eine gültige Sicherheitsbeschreibungszeichenfolge in das Feld SDDLText der Tabelle MsiLockPermissionsEx ein, indem Sie die gültige SDDL (Security Descriptor Definition Language) verwenden. Die Tabelle MsiLockPermissionsEx kann einen Sicherheitsdeskriptor angeben, der Berechtigungen verweigert, die Vererbung von Berechtigungen von einer übergeordneten Ressource oder die Berechtigungen eines neuen Kontos angibt. Eine Liste aller Berechtigungen, die erteilt, verweigert oder geerbt werden können, finden Sie unter ACE-Zeichenfolgen. Windows Installer 5.0 erweitert den Satz der verfügbaren Sicherheits-IDs (SIDs). Eine Liste der gültigen SIDs finden Sie unter SID-Zeichenfolgen.

Hinweis

Wenn Sie die Sicherheitsbeschreibung einer übergeordneten Ressource konfigurieren möchten, um anzugeben, dass ihre Berechtigungen von untergeordneten Objekten geerbt werden sollen, muss ihr Installationsprogramm Berechtigungen auf die übergeordnete Ressource anwenden, bevor die untergeordneten Objekte erstellt werden. Wenn ihr Installationsprogramm die untergeordneten Objekte erstellt, bevor die vererbbaren Berechtigungen auf die übergeordnete Ressource angewendet werden, werden die Berechtigungen der übergeordneten Ressource nicht an die untergeordneten Objekte verbreitet.

Ab Windows Installer 5.0 erweitert der Datentyp FormattedSDDLText den Datentyp Formatted. Der Windows Installer überprüft, ob die in der Spalte SDDLText der Tabelle MsiLockPermissionsEx eingegebene Zeichenfolge FormattedSDDLText dem Format der Sicherheitsbeschreibungszeichenfolgeentspricht.

Windows Installer 4.5 oder früher: Wird nicht unterstützt. Die MsiLockPermissionsEx-Tabelle und der Datentyp FormattedSDDLText sind ab Windows Installer 5.0 verfügbar.