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


Общие сведения о развертывании

В этом разделе представлены варианты и рекомендации по развертыванию разных типов приложений для Windows.

Преимущества и недостатки упаковки приложения

Ваше первое решение будет в том, следует ли упаковать приложение.

  • Упакованое приложение. Пакетные приложения — это единственный тип, который имеет идентификатор пакета во время выполнения. Удостоверение пакета необходимо для многих функций расширяемости Windows, включая фоновые задачи, уведомления, живые плитки, настраиваемые расширения контекстного меню и целевые объекты для общего доступа. Это связано с тем, что операционная система (ОС) должна иметь возможность идентифицировать вызывающий объект соответствующего API. См. функции пакета, требующие удостоверения.
    • Обычно процесс упаковаемого приложения выполняется внутри упрощенного контейнера приложений и изолирован с помощью виртуализации файловой системы и реестра (см. раздел AppContainer для устаревших приложений и приложений MSIX AppContainer). Но вы можете настроить упакованое приложение, чтобы не запускаться в контейнере приложений.
    • Упаковаемое приложение упаковано с помощью технологии MSIX (см. раздел "Что такое MSIX?").
    • Упакованое приложение с внешним расположением. Но поскольку некоторые существующие приложения еще не готовы ко всему их содержимому в пакете MSIX, существует возможность упаковать приложение с учетом внешнего расположения. Это позволяет приложению иметь удостоверение пакета, что обеспечивает возможность использовать те функции, которые требуют этого. Дополнительные сведения см. в разделе «Определение идентичности пакета через упаковку с внешним расположением».
    • Упаковаемое приложение также устанавливается с помощью MSIX. Но если вы решите использовать внешнее расположение, то это можно рассматривать как модель "установщик, предоставляемый пользователем". Таким образом, с этим параметром будет работать некоторый установщик. Это по сути гибридный вариант между упакованным и распакованным приложением.
  • Неупакованное приложение. Вы можете полностью отказаться от использования MSIX, создав распакованное приложение. Но помните, что у непакованного приложения нет удостоверения пакета во время выполнения. Поэтому он пропускает некоторые функции Windows (см . сведения о функциях, требующих удостоверения пакета).

Каждый тип приложения можно опубликовать в Microsoft Store и установить таким образом или с помощью установщика приложений Windows.

Внимание

Рекомендуется упаковать приложение и настроить его для запуска в контейнере приложений. Это будет простой, современный и надежный интерфейс установки и обновления для ваших клиентов; и она будет безопасной во время выполнения.

Упаковано (и при желании выполняется в контейнере приложения) Упакованный с внешним местоположением или без упаковки
Преимущества Предоставляет пользователям простой способ установки, удаления и обновления приложения. Удаление программы выполняется корректно — при удалении приложения система возвращается к состоянию, в котором она была до установки — не остаётся никаких следов. Это приложение также поддерживает добавочные и автоматические обновления. И Microsoft Store оптимизирован для работы с приложениями такого типа (хотя их можно использовать как в Магазине, так и вне его).

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

Упаковка с внешним местоположением означает, что вы получаете преимущества наличия идентичности пакета.
Недостатки Ваше приложение ограничено как по типу, так и по возможностям, которые оно может предоставлять в системе. Например, служба NT невозможна. Параметры обмена данными между процессами (IPC) ограничены; Привилегированный или повышенный доступ ограничен, если вы публикуете в Microsoft Store; Доступ к файлам и реестрам виртуализирован (но также см . гибкую виртуализацию). В некоторых ситуациях корпоративные политики могут отключить обновления, отключив Microsoft Store. После удаления приложения с помощью этих параметров существует риск накопления устаревших данных конфигурации и программного обеспечения. Это может быть проблемой для клиента и системы.

Приложение обычно устанавливается и обновляется с использованием файлов .exe или .msi, либо посредством других решений для установки и обновления, таких как пользовательский установщик, ClickOnce или развертывание xcopy.

Неупакованное приложение лишено преимуществ, связанных с идентификатором пакета.

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

Использование пакета SDK для приложений для Windows

После принятия решения о том, следует ли упаковать приложение, вы можете выбрать, следует ли использовать пакет SDK для приложений Windows в приложении. См. статью с общими сведениями о развертывании пакета SDK для приложений для Windows.

Настольные приложения Win32 и .NET

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

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

UWP-приложения

Приложения UWP всегда упаковываются и развертываются с помощью MSIX.