Открыть сервис

AppX

AppX — это формат упаковки и развёртывания приложений для операционной системы Windows, представленный корпорацией Microsoft вместе с выходом Windows 8 в 2012 году. AppX является основным форматом для установки и распространения приложений из Магазина Windows (Microsoft Store), а также для так называемых «универсальных приложений Windows» (Universal Windows Platform, UWP). Формат представляет собой контейнер, основанный на технологии Open Packaging Conventions (OPC), аналогичной форматам DOCX и ZIP, и обеспечивает изолированную среду выполнения приложения, контроль над его ресурсами и упрощённый процесс обновления.

История

Разработка формата AppX началась как часть стратегии Microsoft по созданию единой платформы для приложений, работающих на различных устройствах с Windows — от настольных компьютеров до планшетов, смартфонов и игровых консолей Xbox. Первая публичная версия формата была представлена в Windows 8, где он заменил более старые технологии установки, такие как MSI (Windows Installer) и установщики сторонних разработчиков. AppX стал обязательным форматом для приложений, распространяемых через Магазин Windows, который также был впервые введён в этой версии.

В Windows 8.1 и Windows 10 формат был расширен и получил название AppX для UWP-приложений. В Windows 10 также появилась поддержка пакетов AppX для классических приложений Win32 через технологию Desktop Bridge (Project Centennial), позволяющую упаковывать традиционные программы в контейнер AppX для упрощённого развёртывания и управления.

В Windows 11 формат AppX остаётся основным для приложений из Microsoft Store, однако также поддерживается альтернативный формат MSIX, который является эволюцией AppX и обеспечивает обратную совместимость с MSI и AppX.

Технические характеристики

Структура пакета

Пакет AppX представляет собой ZIP-архив (с расширением .appx или .msix), содержащий все файлы приложения, метаданные и манифест. Ключевые компоненты:

  • Манифест приложения (AppxManifest.xml) — XML-файл, описывающий идентификатор приложения, его зависимости, разрешения, точки входа, визуальные элементы (иконки, название) и возможности интеграции с системой.
  • Файлы приложения — исполняемые файлы, библиотеки, ресурсы, изображения, локализованные строки и другие данные.
  • Блок-карта (AppxBlockMap.xml) — файл, содержащий хеши (SHA-256) всех файлов пакета, используемый для проверки целостности и поддержки потоковой загрузки.
  • Подписьцифровая подпись, удостоверяющая подлинность пакета и его издателя.

Изоляция и безопасность

Приложения, установленные в формате AppX, выполняются в изолированной среде (песочнице), что ограничивает их доступ к системным ресурсам и данным других приложений. Каждое приложение получает уникальный идентификатор безопасности (SID) и работает в собственном контейнере. Для доступа к функциям, таким как камера, микрофон, геолокация или файловая система, приложение должно явно запросить соответствующие разрешения в манифесте, которые затем подтверждаются пользователем при установке или первом запуске.

Управление версиями и обновления

Пакет AppX содержит номер версии, что позволяет системе автоматически обновлять приложения через Магазин Windows. Обновления могут быть инкрементальными (загружаются только изменённые файлы), что снижает трафик и время установки. Система также поддерживает откат к предыдущей версии в случае неудачного обновления.

Классификация

По типу приложения

  • UWP-приложения — универсальные приложения, написанные с использованием Windows Runtime API, которые могут работать на различных устройствах с Windows 10 и выше.
  • Приложения Win32, упакованные через Desktop Bridge — классические настольные программы, упакованные в формат AppX для упрощённого развёртывания и управления.
  • Приложения из Microsoft Store — любые приложения, распространяемые через официальный магазин Microsoft, включая как UWP, так и упакованные Win32-приложения.

По способу распространения

  • Пакеты из Microsoft Store — загружаются и устанавливаются через магазин, автоматически проверяются на вредоносный код и подписываются Microsoft.
  • Сторонние пакеты (Sideloading) — устанавливаются вручную из файлов .appx или .msix, требуют включения режима разработчика или специальной политики в корпоративных средах.
  • Корпоративные пакеты — распространяются через системы управления мобильными устройствами (MDM) или групповые политики в организациях.

Применение

Формат AppX широко используется в следующих сценариях:

  • Магазин Windows (Microsoft Store) — основной способ распространения приложений для пользователей Windows 8, 10 и 11. По состоянию на 2024 год в магазине доступно более 1 миллиона приложений, включая такие популярные, как Spotify, Adobe Photoshop Elements, TikTok и многие игры.
  • Корпоративное развёртывание — организации используют AppX для централизованной установки и обновления приложений на компьютерах сотрудников, что упрощает управление и повышает безопасность.
  • Разработка и тестирование — разработчики используют пакеты AppX для тестирования приложений перед публикацией, а также для распространения бета-версий через каналы Windows Insider.
  • Виртуализация приложений — AppX поддерживает потоковую загрузку (streaming), позволяя запускать приложения до полной загрузки всех файлов, что ускоряет первый запуск.

Преимущества и недостатки

Преимущества

  • Изоляция и безопасность — приложения работают в песочнице, что снижает риск заражения системы вредоносным ПО.
  • Простота установки и удаления — установка не требует прав администратора (в большинстве случаев), а удаление полностью очищает систему от файлов приложения.
  • Автоматические обновления — приложения обновляются через Магазин Windows без участия пользователя.
  • Поддержка различных устройств — UWP-приложения могут адаптироваться к разным размерам экранов и типам ввода (сенсор, мышь, клавиатура).

Недостатки

  • Ограниченная функциональность — изоляция ограничивает доступ к системным ресурсам, что может быть проблематично для сложных приложений, требующих глубокой интеграции с ОС.
  • Зависимость от Магазина Windows — для обновлений и некоторых функций требуется подключение к интернету и учётная запись Microsoft.
  • Сложность для разработчиков — создание UWP-приложений требует изучения новых API и инструментов, что может быть затратно для небольших команд.
  • Проблемы с совместимостью — некоторые старые приложения Win32 не могут быть упакованы в AppX без значительных изменений.

Интересные факты

  • Формат AppX основан на Open Packaging Conventions (OPC), который также используется в форматах Office Open XML (DOCX, XLSX, PPTX) и XPS.
  • Первое приложение, выпущенное в формате AppX для Windows 8, было приложение «Погода» от Microsoft, которое стало одним из предустановленных в новой версии ОС.
  • В 2021 году Microsoft представила формат MSIX, который является преемником AppX и поддерживает как UWP, так и Win32-приложения, а также обратную совместимость с MSI и AppX.
  • Формат AppX поддерживает «потоковую установку» — приложение может быть запущено до завершения загрузки всех файлов, что ускоряет первый запуск.
  • В Windows 10 и 11 пакеты AppX могут быть установлены только из доверенных источников (Магазин Windows или подписанные корпоративные пакеты), что повышает безопасность, но ограничивает свободу пользователя.

Источники

  • Microsoft Docs. «App packages and deployment». Windows App Development documentation.
  • Microsoft Docs. «What is an app package?». Windows UWP documentation.
  • Wikipedia. «AppX». Дата обращения: 2024.
  • MSDN Magazine. «Introduction to AppX packaging». 2012.
  • Microsoft. «Windows 8: A new app model». Build 2012 conference materials.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →