Упаковка классического приложения или приложения 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, Устройства Интернета вещей или другие. Дополнительные сведения о развертывании и тестировании приложения с помощью Visual Studio см. в статье "Развертывание и отладка приложений UWP" (также относится к упакованным классическим приложениям ).

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

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

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

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

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

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

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

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

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

    Manifest designer in Visual Studio

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

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

    Примечание.

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

    Важно!

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

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

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

Если приложение распространяется через Microsoft Store, Visual Studio может связать пакет с Магазином. Для этого щелкните правой кнопкой мыши имя проекта в Обозреватель решений и выберите "Опубликовать приложение> с Магазином" (до 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).

    Context menu with navigation to Create App Packages

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

    Create Your Packages dialog window shown with Sideloading

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

    Create Your Packages dialog window shown with Signing

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

Установка пакета приложения путем двойного щелчка

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

Примечание.

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

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

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

  2. Щелкните правой кнопкой мыши файл Add-AppDevPackage.ps1 . Выберите "Выполнить с помощью PowerShell " и следуйте инструкциям.
    File explorer navigated to PowerShell script shown

    Когда пакет приложения установлен, окно 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.

    Context menu with navigation to Create App Packages

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

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

    Create Your Packages dialog window shown with Microsoft Store

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

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

    Create App Packages window with app name selection shown

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

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

    Create App Packages window with package configuration shown

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

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

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

    Package creation completed window with validation options shown

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

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

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

  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. На странице "Создание пакета завершено" мастера нажмите кнопку "Удаленный компьютер" и нажмите кнопку с многоточием рядом с кнопкой "Тест Подключение".

    Примечание.

    Кнопка "Удаленный компьютер" доступна только в том случае, если выбрана по крайней мере одна конфигурация решения, поддерживающая проверку. Дополнительные сведения о тестировании приложения с помощью WACK см . в комплекте сертификации приложений 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, идентификатор клиента и ключ клиента.

    Configure Microsoft Store Submission settings

    Важно!

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

  3. Щелкните OK.

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

Verify and Publish progress