Tabela LockPermissions
Tabela LockPermissions służy do zabezpieczania poszczególnych części aplikacji w zablokowanym środowisku. Może być używany z instalacją plików, kluczy rejestru i utworzonych folderów.
Pakiet przeznaczony do instalacji w systemie Windows Server 2008 R2 lub Windows 7 powinien używać MsiLockPermissionsEx Table, a nie tabeli LockPermissions. Wersje Instalatora Windows starsze niż Instalator Windows 5.0 ignorują tabelę MsiLockPermissionsEx. Instalator Windows 5.0 może zainstalować pakiet zawierający tabelę LockPermissions. Począwszy od Instalatora Windows 5.0, instalacja pakietu zawierającego zarówno tabelę MsiLockPermissionsEx, jak i tabelę LockPermissions kończy się niepowodzeniem i zwraca komunikat o błędzie Instalatora Windows 1941.
Tabela LockPermissions zawiera następujące kolumny.
Kolumna | Typ | Klucz | Nullable |
---|---|---|---|
LockObject | identyfikator | Y | N |
Stół | tekstu | Y | N |
Domena | sformatowane | Y | Y |
Użytkownik | sformatowane | Y | N |
Pozwolenie | doubleinteger | N | Y |
Kolumny
-
LockObject
-
Ta kolumna i kolumna Tabela razem określają plik, katalog lub klucz rejestru, który ma być zabezpieczony. Kolumna LockObject jest kluczem obcym wskazującym klucz podstawowy tabeli określonej przez kolumnę Tabela.
-
tabela
-
Ta kolumna i kolumna LockObject określają plik, katalog lub klucz rejestru, który ma być zabezpieczony. W kolumnie Tabela wprowadź ciąg Plik, Rejestr lub UtwórzFolder, aby określić obiekt LockObject wymieniony w tabeli plików , tabeli rejestru lub CreateFolder Table.
-
domena
-
Kolumna identyfikująca domenę użytkownika, dla którego mają zostać ustawione uprawnienia. Jest to nazwa autonomicznej maszyny lub nazwy domeny. Typ danych kolumny jest sformatowanyi można użyć ciągu [%USERDOMAIN] w tym polu, aby uzyskać wartość zmiennej środowiskowej USERDOMAIN dla bieżącej domeny. Aby uzyskać dowolną inną domenę, należy użyć akcji niestandardowych. Aby uzyskać więcej informacji, zobacz niestandardową tabelę akcji.
-
użytkownik
-
Kolumna identyfikująca zlokalizowaną nazwę użytkownika, dla którego mają zostać ustawione uprawnienia. Ta nazwa musi znajdować się na maszynie lub domenie. Instalacja nie powiedzie się, jeśli maszyna lub kontroler domeny nie rozpozna kombinacji domeny i użytkownika lub jeśli nie można pobrać identyfikatora zabezpieczeń użytkownika (SID). Dla pojedynczego obiektu LockObject można określić wielu użytkowników.
Wspólne nazwy użytkowników "Wszyscy" i "Administratorzy" mogą być wprowadzane w języku angielskim i są mapowane na dobrze znane identyfikatory SID. System lokalny ma pełną kontrolę we wszystkich deskryptorach zabezpieczeń utworzonych za pośrednictwem tabeli LockPermissions. Aby uzyskać bieżącego użytkownika, możesz użyć właściwości ComputerName, właściwości LogonUser lub właściwości username . Akcja niestandardowa jest wymagana do wprowadzenia zlokalizowanej nazwy dowolnego innego użytkownika lub grupy.
Można użyć wielu rekordów z identycznymi wpisami LockObject i Table (ale różnymi wpisami użytkownika), aby określić listy kontroli dostępu dla wielu użytkowników.
-
uprawnienie
-
Kolumna identyfikująca opis liczby całkowitej uprawnień systemowych. Poniżej przedstawiono najczęściej używane wartości (pełna lista istnieje w pliku Winnt.h).
Przywilej Opis GENERIC_ALL
0X10000000
268435456Odczyt, zapis i wykonywanie dostępu GENERIC_EXECUTE
0X20000000
536870912Wykonywanie dostępu GENERIC_WRITE
0X40000000
1073741824Dostęp do zapisu Nie można określić GENERIC_READ w kolumnie Uprawnienia. Próba wykonania tej czynności zakończy się niepowodzeniem. Zamiast tego należy określić wartość, taką jak KEY_READ lub FILE_GENERIC_READ.
Wartość Null wprowadzona w tej kolumnie jest zarezerwowana do użytku w przyszłości.
Uwagi
Akcje InstallFiles, WriteRegistryValuesi akcje CreateFolders w tabelach sekwencji przetwarzać informacje w tej tabeli. Aby uzyskać informacje na temat używania tabel sekwencji , zobacz Using a Sequence Table.
Uprawnienie można ustawić tylko w tabeli LockPermissions dla użytkowników, którzy już istnieją na komputerze lub domenie. Próba ustawienia uprawnień dla nieznanego użytkownika powoduje niepowodzenie instalacji, nawet jeśli to konto użytkownika zostanie utworzone podczas instalacji przez odroczone działanie niestandardowe.
Zaleca się, aby grupa lokalna administratora systemu była uwzględniana we wszystkich listach kontroli dostępu (ACL). Dzięki temu administrator systemu może uzyskiwać dostęp do obiektów i obsługiwać je.
Każdy plik, klucz rejestru lub katalog wymieniony w tabeli LockPermissions otrzymuje jawny deskryptor zabezpieczeń, niezależnie od tego, czy zastępuje istniejący obiekt, czy nie. Instalator Windows próbuje zachować zabezpieczenia obiektów, które już istnieją w systemie. Jeśli obiekt nie znajduje się na liście w tabeli LockPermissions i zastępuje istniejący obiekt, zastąpienie pobiera ustawienia zabezpieczeń obiektu, który zastępuje.
Jeśli obiekt nie znajduje się na liście w tabeli LockPermissions i nie zastępuje istniejącego obiektu, nie otrzymuje jawnego deskryptora zabezpieczeń. Dostęp do nowego obiektu jest oparty na atrybutach jego obiektu nadrzędnego lub kontenera. Jeśli obiekt nie znajduje się na liście w tabeli i zastępuje obiekt bez jawnego deskryptora zabezpieczeń, dostęp do nowego obiektu jest oparty na atrybutach jego obiektu nadrzędnego lub kontenera.
Instalator Windows ustawia właściwość UserSID na identyfikator zabezpieczeń (SID) lub użytkownika uruchamiającego instalację.
Walidacja