Tabelle „LockPermissions“
Die Tabelle „LockPermissions“ wird verwendet, um einzelne Teile einer Anwendung in einer gesperrten Umgebung zu schützen. Dies kann für die Installation von Dateien, Registrierungsschlüsseln und erstellten Ordnern verwendet werden.
Ein Paket für die Installation unter Windows Server 2008 R2 oder Windows 7 sollte anstelle von „LockPermissions“ die Tabelle MsiLockPermissionsEx verwenden. In Versionen vor Windows Installer 5.0 wird die Tabelle „MsiLockPermissionsEx“ ignoriert. Windows Installer 5.0 kann ein Paket installieren, das die Tabelle „LockPermissions“ enthält. Ab Windows Installer 5.0 tritt bei der Installation eines Pakets, das sowohl die Tabelle „MsiLockPermissionsEx“ als auch die Tabelle „LockPermissions“ enthält ein Fehler auf, und die Windows Installer-Fehlermeldung 1941 wird zurückgegeben.
Die Tabelle „LockPermissions“ enthält die folgenden Spalten:
Spalte | Typ | Schlüssel | Nullwerte zulässig |
---|---|---|---|
LockObject | Identifier | J | N |
Tabelle | Text | J | N |
Domain | Formatted | J | J |
Benutzer | Formatted | J | N |
Berechtigung | DoubleInteger | N | J |
Spalten
-
LockObject
-
Diese Spalte und die Spalte „Table“ geben zusammen die Datei, das Verzeichnis oder den Registrierungsschlüssel für die Sicherung an. Die Spalte „LockObject“ ist ein Fremdschlüssel, der auf den Primärschlüssel der durch die Spalte „Table“ angegebene Tabelle verweist.
-
Table
-
Diese Spalte und die Spalte „LockObject“ geben zusammen die Datei, das Verzeichnis oder den Registrierungsschlüssel für die Sicherung an. Geben Sie in der Spalte „Table“ eine der Zeichenfolgen „File“, „Registry“ oder „CreateFolder“ ein, um ein „LockObject“ anzugeben, das in der Tabelle File, der Tabelle Registry bis der Tabelle CreateFolder aufgeführt ist.
-
Domain
-
Diese Spalte gibt die Domäne des Benutzers bzw. der Benutzerin an, für den oder die Berechtigungen festgelegt werden sollen. Dies ist der Name eines eigenständigen Computers oder ein Domänennamen. Der Spaltendatentyp ist Formatiert, und Sie können die Zeichenfolge „[%USERDOMAIN]“ in diesem Feld verwenden, um den Wert der Umgebungsvariablen „USERDOMAIN“ für die aktuelle Domäne abzurufen. Um eine andere Domäne abzurufen, ist die Verwendung von benutzerdefinierten Aktionen erforderlich. Weitere Informationen finden Sie in der Tabelle für benutzerdefinierte Aktionen.
-
User
-
Diese Spalte gibt den lokalisierten Namen des Benutzers bzw. der Benutzerin an, für den oder die Berechtigungen festgelegt werden sollen. Dieser Name muss sich auf dem Computer oder in der Domäne befinden. Bei der Installation tritt ein Fehler auf, wenn der Computer oder Domänencontroller die Kombination aus Domäne und Benutzer*in nicht erkennt oder wenn die Sicherheits-ID (SID) des Benutzers bzw. der Benutzerin nicht abgerufen werden kann. Es können mehrere Benutzer*innen für ein einzelnes LockObject angegeben werden.
Die allgemeinen Benutzernamen „Everyone“ und „Administrators“ können in englischer Sprache eingegeben werden und sind bekannten SIDs zugeordnet. LocalSystem erhält die vollständige Kontrolle über alle Sicherheitsbeschreibungen, die über die Tabelle „LockPermissions“ erstellt werden. Sie können in diesem Feld die Eigenschaften ComputerName, LogonUser oder USERNAME verwenden, um den aktuellen Benutzer bzw. die aktuelle Benutzerin abzurufen. Für die Eingabe des lokalisierten Namens anderer Benutzer*innen oder Gruppen ist eine benutzerdefinierte Aktion erforderlich.
Sie können mehrere Datensätze mit identischen LockObject- und Table-Einträgen (aber unterschiedlichen User-Einträgen) verwenden, um Zugriffssteuerungslisten für mehrere Benutzer*innen anzugeben.
-
Permission
-
Diese Spalte identifiziert die Integerbeschreibung der Systemberechtigungen. Im Folgenden finden Sie die am häufigsten verwendeten Werte. (Eine vollständige Liste ist in „Winnt.h“ enthalten.)
Berechtigung BESCHREIBUNG GENERIC_ALL
0x10000000
268435456Lese-, Schreib- und Ausführungszugriff GENERIC_EXECUTE
0x20000000
536870912Ausführungszugriff GENERIC_WRITE
0x40000000
1073741824Schreibzugriff Sie können GENERIC_READ nicht in der Spalte „Permission“ angeben. Bei diesem Versuch tritt ein Fehler auf. Stattdessen müssen Sie einen Wert wie KEY_READ oder FILE_GENERIC_READ angeben.
Der in dieser Spalte eingegebene Wert NULL ist für die zukünftige Verwendung reserviert.
Bemerkungen
Die Aktionen InstallFiles, WriteRegistryValues und CreateFolders in Sequenztabellen verarbeiten die Informationen in dieser Tabelle. Informationen zur Verwendung von Sequenztabellen finden Sie unter Verwenden einer Sequenztabelle.
Die Berechtigung kann in der Tabelle „LockPermissions“ nur für Benutzer*innen festgelegt werden, die bereits auf dem Computer oder in der Domäne vorhanden sind. Ein Versuch, Berechtigungen für unbekannte Benutzer*innen festzulegen, führt dazu, dass bei der Installation ein Fehler auftritt, auch wenn dieses Benutzerkonto während der Installation durch eine verzögerte benutzerdefinierte Aktion erstellt wird.
Es wird empfohlen, die lokale Gruppe der Systemadministrator*innen in alle Zugriffssteuerungslisten (Access Control Lists, ACL) aufzunehmen. Dadurch wird sichergestellt, dass Systemadministrator*innen auf Objekte zugreifen und diese verwalten können.
Jede Datei, jeder Registrierungsschlüssel und jedes Verzeichnis, das in der Tabelle „LockPermissions“ aufgeführt ist, erhält eine explizite Sicherheitsbeschreibung, unabhängig davon, ob ein vorhandenes Objekt ersetzt wird oder nicht. Der Windows Installer versucht die Sicherheit für Objekte beizubehalten, die bereits auf dem System vorhanden sind. Wenn ein Objekt nicht in der Tabelle „LockPermissions“ aufgeführt ist und ein vorhandenes Objekt ersetzt, erhält das ersetzende Objekt die Sicherheitseinstellungen des ersetzten Objekts.
Wenn ein Objekt nicht in der Tabelle „LockPermissions“ aufgeführt ist und kein vorhandenes Objekt ersetzt, erhält es keine explizite Sicherheitsbeschreibung. Der Zugriff auf das neue Objekt basiert auf den Attributen des übergeordneten oder Containerobjekts. Wenn ein Objekt nicht in der Tabelle aufgeführt ist und ein Objekt ohne explizite Sicherheitsbeschreibung ersetzt, basiert der Zugriff auf das neue Objekt auf den Attributen des übergeordneten Objekts bzw. des Containerobjekts.
Der Windows Installer legt die UserSID-Eigenschaft auf die Sicherheits-ID (SID) oder den/die Benutzer*in fest, der bzw. die die Installation ausführt.
Validierung
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für