Поделиться через


Обзор упаковки

Упаковка определяет, как приложение устанавливается, обновляется и интегрируется с Windows. Приложения WinUI упаковываются по умолчанию, а многие классические приложения, такие как традиционные приложения Win32, выполняются без упаковки. Упакованные приложения получают преимущества от чистой установки, автоматического обновления и доступа к функциям Windows, которым требуется идентификация пакета, включая фоновые задачи, уведомления, расширения контекстного меню и другие возможности расширения. Распакованные приложения по-прежнему могут получить доступ ко многим возможностям пакета SDK для приложений Windows, но может потребоваться дополнительная настройка для включения определенных функций.

Почему упаковка приложений имеет значение

Упаковка определяет, как приложение устанавливается, обновляется, идентифицируется и интегрируется с Windows. Выбор между упакованным и распакованным приложением влияет на функции, которые можно использовать, модель развертывания, на которую вы полагаетесь, и общие впечатления, которые получают ваши клиенты. Цель этого обзора заключается в том, чтобы быстро понять компромиссы, чтобы вы могли выбрать модель, которая лучше всего соответствует архитектуре и требованиям вашего приложения.

Упакованные и распакованные приложения

Упакованные приложения

Упакованные приложения используют MSIX и имеют удостоверение пакета, которое требуется для многих точек расширяемости Windows, включая фоновые задачи, уведомления, пользовательские расширения контекстного меню и целевые объекты общего доступа. Идентификатор пакета позволяет Windows надежно идентифицировать объект, вызывающий API платформы, поэтому эти возможности зависят от него. Дополнительную информацию см. в разделе Функции, требующие идентификации пакета.

  • Упакованные приложения обычно выполняются в упрощенном контейнере приложений с файловой системой и виртуализацией реестра (см. раздел AppContainer для устаревших приложений и приложений MSIX AppContainer).
  • Приложения также можно настроить не для запуска в контейнере приложений при необходимости.
  • MSIX используется как для упаковки, так и для установки (см. раздел "Что такое MSIX?").

Упаковано для внешнего размещения

Некоторые существующие настольные приложения еще не готовы к тому, чтобы все их содержимое находилось в пакете MSIX. Упаковка с внешним расположением дает этим приложениям идентификацию пакета, при этом основное содержимое остается вне пакета.

Непакетированные приложения

Распакованные приложения не используют MSIX и не имеют идентификатора пакета, что означает, что они не могут получить доступ к функциям, которые требуют его..

  • Они остаются полностью неограниченными с точки зрения поверхности API, доступа к файловой системе, доступа к реестру, повышения прав и модели процессов.
  • Установка и обновления зависят от .exe, .msi, пользовательских установщиков, ClickOnce или xcopy.
  • См. функции пакета, требующие удостоверения.

Сравнительное резюме

Упаковано (необязательный контейнер приложения) Упакованный с внешним местоположением / Без упаковки
Основные преимущества Современная установка и удаление, автоматическое или инкрементное обновление, чистое удаление без остаточных файлов, оптимизированное взаимодействие с Microsoft Store и доступ к функциям, требующим идентификатора пакета. Полный контроль над моделью процессов, повышением прав, IPC, доступом к реестру и файловой системе. Упаковка с внешним расположением позволяет идентифицировать пакет без полного внедрения MSIX.
Ограничения ключей Некоторые сценарии уровня системы не поддерживаются (например, службы NT). Параметры IPC могут быть ограничены, публикация Store ограничивает повышенный доступ, и виртуализация применяется во многих случаях (см. гибкую виртуализацию). Корпоративные политики могут отключать обновления, управляемые Магазином. Более высокий риск устаревших файлов или конфигурации после удаления. Установка и обновление должны обрабатываться вручную с помощью .exe.msiили пользовательских механизмов. Неупакованные приложения не имеют функций, требующих удостоверения пакета.

Это важно

Для большинства приложений с помощью MSIX и запуска в контейнере приложений предоставляется самый простой, безопасный и современный интерфейс установки и обновления.

Дополнительные сведения о расположении установки, рабочем каталоге, виртуализации и поведении во время выполнения можно найти в разделе
Как упакованные настольные приложения работают в Windows.

Начало работы с MSIX

При создании классического приложения Win32 или приложения .NET (в том числе Windows Presentation Foundation (WPF) или Windows Forms (WinForms)) для упаковки и развертывания приложения можно использовать MSIX.

Другие технологии установки

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