Zabezpieczanie zasobów
Możliwość Instalatora Windows w celu ustawienia uprawnień dostępu do usług, plików, utworzonych folderów i wpisów rejestru może pomóc w zapewnieniu bezpieczeństwa aplikacji instalacyjnych. Użycie tabeli MsiLockPermissionsEx lub LockPermissions do zabezpieczania zasobów jest jedną z zalecanych wytycznych dotyczących tworzenia bezpiecznych instalacji. Tabela MsiLockPermissionsEx umożliwia autorowi pakietu zabezpieczenie zasobu bez konieczności pisania akcji niestandardowej.
Począwszy od pakietów opracowanych dla Instalatora Windows 5.0, tabela MsiLockPermissionsEx powinna zastąpić użycie tabeli LockPermissions. Rozszerzone funkcje udostępniane przez tabelę MsiLockPermissionsEx umożliwiają zabezpieczenie pakietu usług Windows Services, plików, folderów i kluczy rejestru. Pakiet nie powinien zawierać tabel MsiLockPermissionsEx i LockPermissions.
Instalator Windows w wersji 4.5 lub starszej ignoruje tabelę MsiLockPermissionsEx . Począwszy od Instalatora Windows 5.0 instalacja kończy się niepowodzeniem z komunikatem o błędzie 1941, jeśli pakiet zawiera zarówno tabelę LockPermissions,, jak i tabelę MsiLockPermissionsEx. Istniejące pakiety instalacyjne zawierające tylko tabelę LockPermissions można nadal instalować przy użyciu Instalatora Windows 5.0.
Instalator Windows 5.0 przetwarza informacje w tabeli MsiLockPermissionsEx podczas uruchamiania InstallFiles, InstallServices, WriteRegistryValues i CreateFolders standardowych akcji. Zabezpieczany obiekt musi być zainstalowany lub ponownie zainstalowany, aby był zabezpieczony i nie można dołączyć listy kontroli dostępu (ACL) do istniejącego obiektu bez ponownego zainstalowania tego obiektu.
Aby określić usługę, plik, katalog lub klucz rejestru, który ma zostać zabezpieczony, wprowadź informacje identyfikujące w polach LockObject i Table tabeli MsiLockPermissionsEx. Obiekt jest identyfikowany przez klucz podstawowy w ServiceInstall Table, File Table, Registry Tablelub CreateFolder Table.
Aby zażądać zastosowania określonych uprawnień do obiektu, wprowadź prawidłowy ciąg deskryptora zabezpieczeń w polu SDDLText tabeli MsiLockPermissionsEx przy użyciu prawidłowego języka definicji deskryptora zabezpieczeń (SDDL) . Tabela MsiLockPermissionsEx może określić deskryptor zabezpieczeń, który odmawia uprawnień, określa dziedziczenie uprawnień z zasobu nadrzędnego lub określa uprawnienia nowego konta. Aby uzyskać listę wszystkich uprawnień, którym można udzielić, odmówić lub odziedziczyć, zobacz ciągi ACE. Instalator Windows 5.0 rozszerza zestaw dostępnych identyfikatorów zabezpieczeń (SID). Aby uzyskać listę prawidłowych identyfikatorów SID, zobacz ciągi SID.
Notatka
Jeśli chcesz skonfigurować deskryptor zabezpieczeń zasobu nadrzędnego, aby określić, że jego uprawnienia są dziedziczone przez obiekty podrzędne, instalator musi zastosować uprawnienia do zasobu nadrzędnego przed utworzeniem obiektów podrzędnych. Jeśli instalator tworzy obiekty podrzędne przed zastosowaniem uprawnień dziedziczych do zasobu nadrzędnego, uprawnienia zasobu nadrzędnego nie będą propagowane do obiektów podrzędnych.
Począwszy od Instalatora Windows 5.0, typ danych FormattedSDDLText rozszerza typ danych Formatted. Instalator Windows sprawdza, czy ciąg FormattedSDDLText wprowadzony w kolumnie SDDLText tabeli MsiLockPermissionsEx jest zgodny z formatem ciągu deskryptora zabezpieczeń .
Instalator Windows 4.5 lub starszy: Nieobsługiwane. Tabela MsiLockPermissionsEx i typ danych FormattedSDDLText są dostępne począwszy od Instalatora Windows 5.0.