Защита ресурсов
Возможность установщика 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). Для получения списка допустимых SID, см. строки SID.
Заметка
Если необходимо настроить дескриптор безопасности родительского ресурса, чтобы указать, что его разрешения наследуются дочерними объектами, установщик должен применить разрешения к родительскому ресурсу перед созданием дочерних объектов. Если установщик создает дочерние объекты перед применением наследуемых разрешений к родительскому ресурсу, разрешения родительского ресурса не будут распространяться на дочерние объекты.
Начиная с Windows Installer 5.0, тип данных FormattedSDDLText расширяет тип данных Formatted. Установщик Windows проверяет, соответствует ли строка FormattedSDDLText в столбце SDDLText таблицы MsiLockPermissionsEx формату строкового дескриптора безопасности .
установщик Windows версии 4.5 или более ранней: не поддерживается. Таблица MsiLockPermissionsEx и тип данных FormattedSDDLText доступны начиная с Windows Installer 5.0.