Защита ресурсов

Возможность установщика Windows задавать разрешения на доступ к службам, файлам, созданным папкам и записям реестра может помочь повысить безопасность приложений установки. Использование таблиц MsiLockPermissionsEx или LockPermissions для защиты ресурсов является одним из рекомендуемых рекомендаций по созданию безопасных установок. Таблица MsiLockPermissionsEx позволяет автору пакета защитить ресурс без необходимости писать пользовательское действие.

Начиная с пакетов, разработанных для установщика Windows 5.0, таблица MsiLockPermissionsEx должна заменить использование таблицы LockPermissions . Расширенные функции, предоставляемые таблицей MsiLockPermissionsEx, позволяют пакету защищать службы Windows, файлы, папки и разделы реестра. Пакет не должен содержать таблицы MsiLockPermissionsEx и LockPermissions.

Установщик Windows 4.5 и более ранних версий игнорирует таблицу MsiLockPermissionsEx. Начиная с установщика Windows 5.0 установка завершается сбоем с сообщением об ошибке 1941, если пакет содержит как таблицу LockPermissions , так и таблицу MsiLockPermissionsEx. Существующие пакеты установки, содержащие только таблицу LockPermissions, по-прежнему можно установить с помощью установщика Windows 5.0.

Установщик Windows 5.0 обрабатывает сведения в таблице MsiLockPermissionsEx при выполнении стандартных действий InstallFiles, InstallServices, WriteRegistryValues и CreateFolders . Защищаемый объект должен быть установлен или переустановлен для защиты, и невозможно добавить список контроль доступа (ACL) к существующему объекту без повторной установки этого объекта.

Чтобы указать службу, файл, каталог или раздел реестра, который требуется защитить, введите идентифицирующие сведения в полях LockObject и Table таблицы MsiLockPermissionsEx . Объект определяется первичным ключом в таблице ServiceInstall, таблице файлов, таблице реестра или таблице CreateFolder.

Чтобы запросить применение указанных разрешений к объекту, введите допустимую строку дескриптора безопасности в поле SDDLText таблицы MsiLockPermissionsEx с использованием допустимого языка определения дескриптора безопасности (SDDL). Таблица MsiLockPermissionsEx может указать дескриптор безопасности, который запрещает разрешения, указывает наследование разрешений от родительского ресурса или указывает разрешения новой учетной записи. Список всех разрешений, которые могут быть предоставлены, запрещены или унаследованы, см. в разделе Строки ACE. Установщик Windows 5.0 расширяет набор доступных идентификаторов безопасности (SID). Список допустимых идентификаторов безопасности см. в разделе Строки идентификаторов безопасности.

Примечание

Если вы хотите настроить дескриптор безопасности родительского ресурса, чтобы указать, что его разрешения наследуются дочерними объектами, установщик должен применить разрешения к родительскому ресурсу перед созданием дочерних объектов. Если установщик создает дочерние объекты до применения наследуемых разрешений к родительскому ресурсу, разрешения родительского ресурса не будут распространяться на дочерние объекты.

Начиная с установщика Windows 5.0 тип данных FormattedSDDLText расширяет тип данных Formatted . Установщик Windows проверяет, соответствует ли строка FormattedSDDLText, введенная в столбце SDDLText таблицы MsiLockPermissionsEx , формату строки дескриптора безопасности.

Установщик Windows 4.5 или более ранней версии: Не поддерживается. Таблица MsiLockPermissionsEx и тип данных FormattedSDDLText доступны начиная с установщика Windows 5.0.