Упаковка классического приложения или приложения UWP в Visual Studio

Перед распространением приложения необходимо упаковать его. В этой статье описывается процесс настройки, создания и тестирования пакета MSIX с помощью Visual Studio.

Типы пакетов приложений

  • Пакет приложения (MSIX или APPX)
    Один пакет, содержащий приложение и его ресурсы, предназначенный для одной архитектуры устройства. Например, пакет приложения x64 или x86. Для назначения нескольких архитектур с помощью пакета приложений необходимо создать одну для каждой архитектуры.

  • Пакет приложений (.msixbundle или .appxbundle)
    Пакет приложений — это тип пакета, который может содержать множество пакетов приложений, каждый из которых создан для поддержки определенной архитектуры устройства. Например, пакет приложений может содержать три отдельных пакета приложения для конфигураций x86, x64 и ARM. Пакеты приложений должны создаваться всякий раз, когда это возможно, потому что они делают приложение доступным для широкого ассортимента устройств.

  • Файл отправки пакета приложения (.msixupload или .appxupload) — только для отправки в Магазин
    Один файл, который может содержать несколько пакетов приложения или пакет приложений, чтобы обеспечить поддержку разных архитектур процессора. Файл отправки пакета приложения также содержит файл символов для анализа производительности приложения после публикации приложения в Microsoft Store. Этот файл будет автоматически создан, если вы упаковывают приложение с помощью Visual Studio с намерением отправить его в Центр партнеров для публикации в Microsoft Store.

Ниже приведен обзор действий по подготовке и созданию пакета приложения.

  1. Перед упаковкой приложения. Выполните следующие действия, чтобы убедиться, что приложение готово к упаковке.

  2. Настройте проект. Используйте конструктор манифеста Visual Studio для настройки пакета. Например, добавьте изображения для плиток и выберите ориентации, которые будут поддерживаться приложением.

  3. Создание пакета приложения. Используйте мастер упаковки Visual Studio для создания пакета приложения.

  4. Запуск, отладка и тестирование упаковаемого приложения. Запустите и отладите пакет приложения из Visual Studio или путем установки пакета напрямую.

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

  1. Протестируйте приложение. Прежде чем упаковать приложение, убедитесь, что оно работает должным образом во всех семействах устройств, которые планируется поддерживать. Эти семейства устройств могут включать настольные и мобильные устройства, Surface Hub, Xbox, устройства IoT и др. Дополнительные сведения о развертывании и тестировании приложения с помощью Visual Studio см. в разделе "Развертывание и отладка приложений UWP " (также относится к упакованным классическим приложениям).

  2. Оптимизируйте приложение. Для оптимизации производительности упаковаемого приложения можно использовать средства профилирования и отладки Visual Studio. Например, средство "Временная шкала" для измерения отклика пользовательского интерфейса, средство измерения использования памяти, средство оценки загрузки процессора и многие другие. Дополнительные сведения об этих инструментах командной строки см. в разделе Обзор функции профилирования.

  3. Проверьте совместимость с .NET Native (для приложений Visual Basic и C#). Универсальная платформа Windows предоставляет новый собственный компилятор, который улучшит показатели времени выполнения приложения. Настоятельно рекомендуется протестировать приложение в этой среде компиляции. По умолчанию конфигурация сборки выпуска включает собственную цепочку инструментов .NET , поэтому важно протестировать приложение с помощью этой конфигурации выпуска и убедиться, что приложение работает должным образом.

Настройка проекта

Файл манифеста приложения (package.appxmanifest.xml) представляет собой XML-файл, который содержит свойства и параметры, необходимые для создания пакета приложения. Например, определенные свойства в файле манифеста приложения описывают изображение, которое будет использоваться как плитка приложения, и ориентации, которые будут поддерживаться вашим приложениям при повороте устройства.

Visual Studio содержит конструктор манифестов, который позволяет обновлять файл манифеста без необходимости редактировать необработанный XML-код файла.

Настройка пакета с помощью конструктора манифестов

  1. В Обозреватель решений разверните узел проекта приложения.

  2. Дважды щелкните файл Package.appxmanifest. Если файл манифеста уже открыт в представлении кода XML, Visual Studio предложит вам закрыть файл.

  3. Теперь вы сможете решить, как настроить свое приложение. Каждая вкладка содержит сведения о приложении, которые можно настроить, и ссылки на дополнительную информацию (при необходимости).

    Конструктор манифестов в Visual Studio

    Убедитесь, что у вас есть все изображения, необходимые для приложения на вкладке "Визуальные ресурсы ". Здесь можно предоставить значки и логотипы приложений.

    На вкладке Упаковка можно ввести сведения о публикации. Здесь можно выбрать сертификат для подписания приложения. Все приложения MSIX должны быть подписаны сертификатом.

    Примечание

    Начиная с Visual Studio 2019 временный сертификат больше не создается в упакованных проектах классических приложений или UWP. Чтобы создать или экспортировать сертификаты, используйте командлеты PowerShell, описанные в этой статье. В последних версиях Visual Studio вы также можете подписать приложение с помощью сертификата, хранящегося в Azure Key Vault для сценариев разработки и тестирования.

    Важно!

    Если приложение публикуется в Microsoft Store, приложение будет подписано для вас с помощью доверенного сертификата. Это позволит пользователям устанавливать и запускать приложения без установки соответствующего сертификата для подписи приложения.

    При установке пакета приложения на устройстве сначала необходимо доверять пакету. Для этого сертификат необходимо установить на устройстве пользователя.

  4. Сохраните файл Package.appxmanifest после внесения необходимых изменений в приложение.

Если вы распространяете приложение через Microsoft Store, Visual Studio может связать пакет с Магазином. Для этого щелкните правой кнопкой мыши имя проекта в Обозреватель решений и выберите команду Publish-Associate>App with the Store (до Visual Studio 2019 версии 16.3 меню "Опубликовать" называется Store). Это также можно сделать в мастере создания пакетов приложений , который описан в следующем разделе. При этом некоторые поля на вкладке формирования пакета в конструкторе манифеста обновляются автоматически.

Создание пакета приложения

Приложения можно устанавливать без публикации в Магазине, публикуя их на веб-сайте, используя такие средства управления приложениями, как Microsoft Intune и Configuration Manager и т. д. Вы также можете напрямую установить пакет MSIX для тестирования на локальном или удаленном компьютере.

Создание пакета приложения с помощью мастера упаковки

Примечание

Приведенные ниже инструкции и снимки экрана описывают процесс в Visual Studio 2019 версии 16.3. Если вы используете более раннюю версию, некоторые элементы пользовательского интерфейса могут выглядеть иначе. При упаковке классического приложения щелкните правой кнопкой мыши узел проекта упаковки приложений Windows.

  1. В Обозреватель решений откройте решение для проекта приложения.

  2. Щелкните проект правой кнопкой мыши и выберите команду "Опубликовать-создать>пакеты приложений" (до Visual Studio 2019 версии 16.3 меню "Публикация" называется Store).

    Контекстное меню с возможностью перехода в мастер создания пакетов приложений

  3. Выберите загрузку неопубликованных приложений на первой странице мастера и нажмите кнопку "Далее".

    Диалоговое окно

  4. На странице "Выбор метода подписывания" выберите, следует ли пропустить упаковку подписи или выбрать сертификат для подписывания. Вы можете выбрать сертификат из локального хранилища сертификатов, выбрать файл сертификата или создать новый сертификат. Чтобы пакет MSIX был установлен на компьютере конечного пользователя, он должен быть подписан сертификатом, доверенным на компьютере.

    Диалоговое окно

  5. Завершите страницу "Выбор и настройка пакетов ", как описано в разделе "Создание файла отправки пакета приложения" с помощью Visual Studio .

Установите пакет приложения, дважды щелкнув

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

Примечание

Установщик приложений предполагает, что пакет был подписан доверенным сертификатом на устройстве. Если это не так, необходимо установить сертификат подписи в хранилище доверенных Люди или доверенных центров сертификации издателей на устройстве. Если вы не знаете, как это сделать, см. раздел Установка тестовых сертификатов.

Установка пакета приложения с помощью скрипта установки

  1. Откройте папку *_Test.

  2. Щелкните правой кнопкой мыши файл Add-AppDevPackage.ps1. Выберите Выполнить с помощью PowerShell и следуйте указаниям на экране.
    Переход из проводника к скрипту PowerShell

    После завершения установки пакета приложения в окне PowerShell отобразится сообщение Приложение успешно установлено.

  3. Нажмите кнопку "Пуск" для поиска приложения по названию, чтобы запустить его.

Дальнейшие действия. Отладка и тестирование пакета приложения

Сведения о том, как выполнить отладку приложения в Visual Studio или с помощью средств отладки Windows, см. в статье "Запуск,отладка и тестирование пакета приложения ".

Создание файла отправки пакета приложения для отправки в Магазин

Чтобы распространить приложение в Microsoft Store, рекомендуется создать файл отправки пакета приложения (MSIXUPLOAD или APPXUPLOAD) и отправить этот файл в Центр партнеров. Хотя пакет приложения или пакет приложений можно отправить только в Центр партнеров, рекомендуется отправить файл отправки пакета приложения.

Вы можете создать файл отправки пакета приложения с помощью мастера создания пакетов приложений в Visual Studio или создать его вручную из существующих пакетов приложений или пакетов приложений.

Примечание

Если вы хотите создать пакет приложения (MSIX или APPX) или пакет приложений (.msixbundle или .appxbundle) вручную, см. статью "Создание пакета приложения с помощью средства MakeAppx.exe".

Создание файла отправки пакета приложения с помощью Visual Studio

Примечание

Следующие инструкции и снимки экрана описывают процесс visual Studio 2019 версии 16.3. Если вы используете более раннюю версию, некоторые элементы пользовательского интерфейса могут выглядеть иначе.

  1. В обозревателе решений откройте решение для проекта приложения UWP.

  2. Щелкните проект правой кнопкой мыши и выберите пункт "Опубликовать и>создать пакеты приложений" (до Visual Studio 2019 версии 16.3 меню публикации называется Store). Если этот параметр отключен или не отображается, убедись, что это универсальный проект Windows.

    Контекстное меню с возможностью перехода в мастер создания пакетов приложений

    Откроется мастер Создание пакетов приложения.

  3. Выберите Microsoft Store, используя новое имя приложения в первом диалоговом окне, а затем нажмите кнопку "Далее".

    Диалоговое окно

    Если проект уже связан с приложением в Магазине, вы также можете создать пакеты для связанного приложения Store. Если выбрана загрузка неопубликованных приложений, Visual Studio не создаст файл отправки пакета приложения (MSIXUPLOAD или APPXUPLOAD) для отправки в Центр партнеров. Если вы хотите создать пакет MSIX или пакет только для распространения, отличного от Store, можно выбрать этот параметр.

  4. На следующей странице войдите с помощью учетной записи разработчика в Центр партнеров. Если у вас нет учетной записи разработчика, мастер поможет создать ее.

    Окно

  5. Выберите имя приложения для пакета из списка приложений, зарегистрированных в вашей учетной записи, или зарезервируйте новый, если вы еще не зарезервировали его в Центре партнеров.

  6. Не забудьте выбрать все три конфигурации архитектуры (x86, x64 и ARM) в диалоговом окне Выбор и настройка пакетов, чтобы гарантировать развертывание приложения на самых разных устройствах. В списковом окне Создать пакет приложений выберите Всегда. Пакет приложений (.appxbundle или .msixbundle) предпочтителен для одного файла пакета приложения, так как он содержит коллекцию пакетов приложений, настроенных для каждого типа архитектуры процессора. При создании пакета приложений пакет приложений будет включен в окончательный файл отправки пакета приложения (.appxupload или MSIXUPLOAD) вместе с отладчиком и сведениями об аналитике сбоев. Если вы не уверены, какие архитектуры выбрать, или хотите узнать больше о том, какие архитектуры используются разными устройствами, см. информацию в разделе Архитектуры пакета приложения.

    Окно

  7. Включите общедоступные файлы символов для анализа производительности приложения из Центра партнеров после публикации приложения. Настройте любые дополнительные сведения, включая номер версии и выходное расположение пакета.

  8. Щелкните Создать, чтобы создать пакет приложения. Если вы выбрали один из пакетов, которые нужно создать для отправки в Microsoft Store на шаге 3 и создаете пакет для отправки Центра партнеров, мастер создаст файл отправки пакета (.appxupload или MSIXUPLOAD). Если вы выбрали, что вы хотите создать пакеты для загрузки неопубликованных приложений на шаге 3, мастер создаст один пакет приложения или пакет приложения на основе выбранных вариантов на шаге 6.

  9. Когда приложение успешно упаковано, вы увидите это диалоговое окно, и вы можете получить файл отправки пакета приложения из указанного места вывода. На этом этапе можно проверить пакет приложения на локальном компьютере или удаленном компьютере и автоматизировать отправки в магазин.

    Окно

Создание файла отправки пакета приложения вручную

  1. Поместите следующие файлы в папку:

    • Один или несколько пакетов приложений (.msix или .appx) или пакета приложений (.msixbundle или .appxbundle).
    • APPXSYM-файл. Это сжатый PDB-файл, содержащий открытые символы приложения, используемые для аварийной аналитики в Центре партнеров. Этот файл можно опустить, но если вы это сделаете, для приложения не будут доступны сведения об аналитике сбоев или отладке.
  2. Выберите все файлы в папке, щелкните правой кнопкой мыши файлы и выберите команду "Отправить в папку ->Compressed (zippped)".

  3. Измените имя расширения нового ZIP-файла с .zip на .msixupload или .appxupload.

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

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

Локальная проверка пакета приложения

  1. На последней странице создания пакетов мастера создания пакетов оставьте выбранный параметр "Локальный компьютер " и нажмите кнопку "Запустить комплект сертификации приложений Для Windows". Подробнее о тестировании приложений с помощью комплекта сертификации приложений для Windows см. в разделе Комплект сертификации приложений для Windows.

    Комплект сертификации приложений Windows (WACK) выполняет различные тесты и возвращает результаты. Подробные сведения см. в разделе Тесты из комплекта сертификации приложений для Windows.

    Чтобы использовать для проверки удаленное устройство с Windows 10, необходимо вручную установить комплект сертификации приложений для Windows на это устройство. Следующий раздел поможет выполнить эти действия. После этого выберите вариант Удаленный компьютер и щелкните Запустить комплект сертификации приложений для Windows, чтобы установить подключение к удаленному устройству и запустить проверочные тесты.

  2. После завершения WACK и прохождения сертификации приложение будет готово к отправке приложения в Центр партнеров. Убедитесь, что отправляется нужный файл. Расположение файла по умолчанию можно найти в корневой папке решения \[AppName]\AppPackages и завершится расширением ФАЙЛА .appxupload или MSIXUPLOAD. Имя будет иметь форму [AppName]_[AppVersion]_x86_x64_arm_bundle.appxupload или [AppName]_[AppVersion]_x86_x64_arm_bundle.msixupload если вы выбрали пакет приложений со всеми выбранными архитектурами пакета.

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

  1. Подготовьте устройство с Windows 10 к разработке, следуя инструкциям Подготовка устройства к разработке.

    Важно!

    Проверить пакет приложения на удаленном устройстве ARM Windows 10 нельзя.

  2. Скачайте и установите средства удаленной работы для Visual Studio. Эти средства используются для удаленного запуска комплекта сертификации приложений для Windows. Дополнительные сведения об этих средствах, в том числе о том, где их можно скачать, посетите страницу запуска приложений MSIX на удаленном компьютере.

  3. Скачайте комплект сертификации приложений для Windows и установите его на удаленное устройство с Windows 10.

  4. На странице Создание пакетов завершено мастера выберите вариант Удаленный компьютер, а затем нажмите кнопку многоточия рядом с кнопкой Проверить подключение.

    Примечание

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

  5. Укажите формат устройства внутри подсети или укажите имя сервера доменных имен (DNS) или IP-адрес устройства, находящегося вне вашей подсети.

  6. В списке Режим аутентификации выберите Нет, если устройство не требует входа в систему, установленную на нем, с использованием учетных данных Windows.

  7. Нажмите кнопку Выбрать, а затем — Запустить комплект сертификации приложений для Windows. Если на устройстве запущены средства удаленной работы, Visual Studio подключится к нему и затем выполнит проверочные тесты. См. раздел Тесты комплекта сертификации приложений для Windows.

Автоматизация отправки в Магазин

Начиная с Visual Studio 2019, вы можете отправить созданный APPXUPLOAD-файл в Microsoft Store непосредственно из интегрированной среды разработки, выбрав параметр "Автоматически отправить в Microsoft Store после проверки комплекта сертификации приложений Для Windows " в конце мастера создания пакетов приложений. Эта функция использует Azure Active Directory для доступа к сведениям учетной записи Центра партнеров, необходимым для публикации приложения. Чтобы использовать эту функцию, необходимо связать Azure Active Directory с учетной записью Центра партнеров и получить несколько учетных данных, необходимых для отправки.

Связывание Azure Active Directory с учетной записью Центра партнеров

Прежде чем получить учетные данные, необходимые для автоматической отправки в Магазин, необходимо сначала выполнить эти действия на панели мониторинга Центра партнеров , если это еще не сделано.

  1. Свяжите учетную запись Центра партнеров с Azure Active Directory вашей организации. Если ваша организация уже использует Office 365 или другие бизнес-службы от Майкрософт, то у вас уже есть Azure AD. В противном случае можно создать новый клиент Azure AD из Центра партнеров без дополнительной платы.

  2. Добавьте приложение Azure AD в учетную запись Центра партнеров. Это Azure AD приложение представляет приложение или службу, которые будут использоваться для доступа к отправке для учетной записи Центра разработки. Это приложение необходимо назначить роли диспетчера . Если приложение уже есть в каталоге Azure AD, вы можете выбрать его на странице Добавление приложений Azure AD, чтобы добавить его к учетной записи Центра разработки. Также можно создать приложение Azure AD на странице Добавление приложений Azure AD.

Получение учетных данных, необходимых для отправки

Затем можно получить учетные данные Центра партнеров, необходимые для отправки: идентификатор клиента Azure, идентификатор клиента и ключ клиента.

  1. Перейдите на панель мониторинга Центра партнеров и войдите с помощью учетных данных Azure AD.

  2. На панели мониторинга Центра партнеров щелкните значок шестеренки (в правом верхнем углу панели мониторинга) и выберите параметры разработчика.

  3. В меню "Параметры" в левой области щелкните "Пользователи".

  4. Щелкните имя приложения Azure AD, чтобы перейти к параметрам приложения. На этой странице скопируйте значения идентификатора клиента и идентификатора клиента .

  5. В разделе "Ключи" щелкните "Добавить новый ключ". На следующем экране скопируйте значение ключа , соответствующее секрету клиента. Вы не сможете снова получить доступ к этим сведениям после выхода из этой страницы, поэтому не потеряйте его. Дополнительные сведения см. в разделе Управление ключами для приложения Azure AD.

Настройка автоматической отправки в Магазине в Visual Studio

После выполнения предыдущих шагов можно настроить автоматические отправки в Магазине в Visual Studio 2019.

  1. В конце мастера создания пакетов приложений выберите "Автоматически отправить в Microsoft Store" после проверки комплекта сертификации приложений Для Windows и нажмите кнопку "Перенастроить".

  2. В диалоговом окне "Настройка параметров отправки Microsoft Store " введите идентификатор клиента Azure, идентификатор клиента и ключ клиента.

    Настройка параметров отправки Microsoft Store

    Важно!

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

  3. Нажмите кнопку ОК.

Отправка начнется после завершения теста WACK. Ход отправки можно отслеживать в окне проверки и публикации .

Проверка и публикация хода выполнения