Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
MSIX использует модель контейнеризации для изоляции приложений от остальной части системы. В отличие от технологий контейнеров общего назначения (например, Docker), контейнеры MSIX не являются виртуальными машинами и не требуют отдельного образа ОС. Вместо этого Windows перенаправляет активность файловой системы и реестра приложения во время выполнения, поддерживая автономность приложений и позволяя им взаимодействовать с остальными компонентами Windows нормальным образом.
В этой статье объясняется модель изоляции, два уровня доверия, доступные для упакованных приложений, и преимущества этого подхода.
Что такое контейнеризация MSIX (и что не так)
При установке пакета MSIX Windows помещает файлы приложения в защищенное расположение (C:\Program Files\WindowsApps\), которое само приложение не может изменить. Во время выполнения Windows предоставляет приложению виртуализированное представление файловой системы и реестра: чтение осуществляется из места установки пакета, а записи перенаправляются в управляемые Windows пользовательские расположения.
Это означает:
- Файлы установки приложения никогда не изменяются во время выполнения.
- Состояние приложения хранится отдельно от двоичных файлов приложения — это делает процесс обновления, восстановления и удаления простым и надежным.
Замечание
Контейнеры MSIX — это функция Windows среды выполнения, а не отдельная операционная среда. Приложение выполняется как собственный процесс Windows — оно просто имеет виртуализированное представление определенных системных ресурсов.
Два уровня доверия
Упакованные приложения выполняются на одном из двух уровней доверия, которые определяют степень изоляции:
Полное доверие (средняя целостность)
Приложения полного доверия выполняются с теми же разрешениями, что и стандартное классическое приложение. Windows предоставляет идентификацию пакета и некоторую виртуализацию файлов и реестра, но приложение по-прежнему может напрямую получить доступ к большинству системных ресурсов.
Это значение по умолчанию для приложений, преобразованных из установщиков Win32 с помощью средства упаковки MSIX и для большинства классических приложений WinUI 3.
AppContainer (частичное доверие)
Приложения AppContainer выполняются в строго изолированной среде. Процесс и его дочерние элементы могут получать доступ только к ресурсам, которые явно предоставляются. Windows обеспечивает изоляцию с помощью файловой системы и виртуализации реестра и границ безопасности AppContainer.
Приложения UWP всегда выполняются в AppContainer. Настольные приложения также могут включиться в AppContainer, указав это в манифесте приложения.
Подсказка
Приложения AppContainer получают самые надежные гарантии безопасности, но требуют больше работы для правильной настройки, особенно для приложений, использующих широкий доступ к системе. Инструкции по настройке см. в приложениях MSIX AppContainer .
Преимущества модели контейнеризации MSIX
| Преимущество | Описание |
|---|---|
| Полное удаление | Так как Windows отслеживает состояние приложения отдельно, удаление пакета MSIX удаляет все файлы приложений, записи реестра и системные изменения без оставшихся артефактов. Созданные пользователем файлы сохраняются. |
| Надежные обновления | Двоичные файлы приложений доступны только для чтения во время выполнения. Обновления заменяют пакет атомарно, и при необходимости приложение можно откатить. |
| Отсутствие загрязнения реестра | Записи реестра из приложения переходят в виртуальный улей для каждого отдельного пользователя, а не в HKEY_LOCAL_MACHINE. Это предотвращает разрастание реестра, которые часто возникают с программами-установщиками Win32. |
| Изоляция безопасности | Приложения AppContainer ограничены явным образом предоставленными ресурсами, что снижает влияние скомпрометированного процесса. |
| Обеспечение целостности | Windows может обнаружить изменение файлов пакетов во время выполнения. Если пакет изменен, Windows блокирует запуск и запускает восстановление. Ознакомьтесь с обзором пакета MSIX. |
Область виртуализации
Не все расположения файловой системы и реестра виртуализированы. Windows применяет разное поведение в зависимости от местоположения, к которому осуществляется доступ.
- Запись в файлы установки пакета блокируется — каталог установки доступен только для чтения.
- Записи в системные расположения (например,
C:\Windows\) блокируются для приложений AppContainer. - Записи в расположения профилей пользователей (например
AppData) перенаправляются в расположения каждого пакета для приложений AppContainer или передаются для приложений с полным доверием. - Операции чтения из упакованных расположений VFS выполняются из самого пакета, что делает поведение приложения таким, как если бы оно было установлено в традиционные местоположения (например,
C:\Program Files\).
Для получения полных технических сведений о том, как работает виртуализация файловой системы и реестра, см. Как выполняются упакованные настольные приложения в Windows.
Общие контейнеры
По умолчанию каждый пакет MSIX выполняется в собственном изолированном контейнере. Для корпоративных сценариев, в которых несколько пакетов должны совместно использовать среду выполнения, например, основное приложение и пакет настройки, Windows поддерживает контейнеры общих пакетов
Это функция только для предприятия, требующая прав администратора. См. раздел "Общий контейнер пакетов".
Гибкая виртуализация
Начиная с Windows 11 приложения могут выборочно выбирать определенные папки файловой системы или разделы реестра из виртуализации, делая эти расположения видимыми для других приложений и сохраняя их во время удаления. Это полезно для приложений, которым требуется общий доступ к конфигурации или данным с другими приложениями, при этом сохраняя преимущества пакетов MSIX.
См. статью "Гибкая виртуализация".