Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Требования
Следуйте этим рекомендациям, чтобы подготовить пакеты приложения для отправки в Microsoft Store.
Перед сборкой пакета приложения для Microsoft Store
Обязательно протестируйте ваше приложение с помощью приложение для Windows Certification Kit. Мы также рекомендуем протестировать приложение на различных типах оборудования. Обратите внимание, что до тех пор, пока мы не сертифицируем приложение и сделаем его доступным из Microsoft Store, его можно установить и запустить только на компьютерах с лицензиями разработчика.
Создание пакета приложения с помощью Майкрософт Visual Studio
Если вы используете Майкрософт Visual Studio в качестве среды разработки, у вас уже есть встроенные средства, которые делают создание пакета приложения быстрым и простым процессом. Дополнительные сведения см. в разделе "Упаковка приложений".
Примечание.
Убедитесь, что все имена файлов используют ANSI.
При создании пакета в Visual Studio убедитесь, что вы выполнили вход с той же учетной записью, связанной с учетной записью разработчика. Некоторые части манифеста пакета содержат конкретные сведения, связанные с вашей учетной записью. Эта информация обнаруживается и добавляется автоматически. Без дополнительных сведений, добавленных в манифест, могут возникнуть сбои отправки пакета.
При создании пакетов UWP приложения Visual Studio может создать MSIX или appx-файл, или MSIXupload или APPXUPLOAD-файл. Для приложений UWP настоятельно рекомендуется всегда загружать файл .msixupload или .appxupload на страницу "Пакеты". Дополнительные сведения об упаковке приложений UWP для Магазина см. в разделе Упаковка приложений UWP с помощью Visual Studio.
Подписывание кода для отправки приложений в Microsoft Store
Пакеты MSIX и AppX не обязаны быть подписаны сертификатом, выданным доверенным центром сертификации, при отправке в Microsoft Store. Microsoft Store автоматически подписывает пакеты MSIX/AppX с помощью сертификата Майкрософт во время процесса публикации после прохождения сертификации приложения. Это означает:
- Для отправки в MSIX/AppX Store не нужно приобретать сертификат подписи кода, доверенный УЦ.
- Вам не нужно предоставлять PFX-файл или .cer из центра сертификации для отправки пакетов MSIX/AppX
- Для отправки в MSIX и AppX Store USB-токены или аппаратные модули безопасности (HSM) не требуются.
- Магазин заменяет любую существующую подпись в пакетах MSIX/AppX сертификатом Майкрософт, предоставляя клиентам доверие и безопасность.
Примечание.
Если вы отправляете установщик MSI или EXE в Магазин, магазин не повторно подписывает эти файлы. Перед отправкой вы сами должны подписать установщик MSI/EXE допустимым сертификатом подписи кода.
Примечание.
Если вы распространяете пакет MSIX за пределами Microsoft Store (например, для корпоративного развертывания или вручную), вам потребуется самостоятельно подписать пакет с помощью собственного сертификата для подписания кода. Дополнительные сведения см. в разделе Подпишите пакет приложения с помощью SignTool.
Пакеты приложений
Для приложений UWP Visual Studio может создать пакет приложений (MSIXbundle или .appxbundle), чтобы уменьшить размер скачиваемого приложения. Это может быть полезно, если вы определили ресурсы, относящиеся к языку, различные ресурсы масштабирования изображений или ресурсы, которые применяются к определенным версиям Майкрософт DirectX.
Примечание.
Один пакет приложений может содержать пакеты для всех архитектур.
С пакетом приложений пользователь будет загружать только соответствующие файлы, а не все возможные ресурсы. Дополнительные сведения о пакетах приложений можно посмотреть в разделе Packaging apps и Package a UWP app with Visual Studio.
Создание пакета приложения вручную
Если для создания пакета не используется Visual Studio, необходимо создать манифест пакета вручную.
Обязательно ознакомьтесь с документацией по манифесту пакета приложения для получения полных сведений и требований в отношении манифеста. Манифест должен соответствовать схеме манифеста пакета для прохождения сертификации.
Манифест должен содержать некоторые сведения о вашей учетной записи и приложении. Эти сведения можно найти, просмотрев сведения об удостоверении приложения в разделе "Управление продуктами" на странице обзора приложения на панели мониторинга.
Примечание.
Значения в манифесте чувствительны к регистру. Пробелы и другие знаки препинания также должны соответствовать. Введите значения тщательно и просмотрите их, чтобы убедиться, что они верны.
Пакеты приложений (.msixbundle или .appxbundle) используют другой манифест. Ознакомьтесь с документацией по манифесту пакета для получения подробных сведений и требований к манифестам пакетов приложений. Обратите внимание, что в файле .msixbundle или .appxbundle манифест каждого включенного пакета должен использовать те же элементы и атрибуты, за исключением атрибута ProcessorArchitecture элемента Identity.
Подсказка
Перед отправкой пакетов обязательно запустите пакет сертификации приложение для Windows. Это поможет определить, есть ли у манифеста какие-либо проблемы, которые могут вызвать сбои сертификации или отправки.
Требования к формату пакета
Пакеты приложения должны соответствовать этим требованиям.
| Свойство пакета приложения | Требование |
|---|---|
| Размер пакета | .msixbundle или .appxbundle: 25 ГБ максимум на пакет .msix или .appx пакеты, предназначенные для Windows 10 или Windows 11: 25 ГБ максимум на пакет |
| Хэши карты блоков | Алгоритм SHA2-256 |
Поддерживаемые версии
Для приложений UWP все пакеты должны ориентироваться на версию Windows 10 или Windows 11, поддерживаемую Магазином. Версии, поддерживаемые пакетом, должны быть указаны в атрибутах MinVersion и MaxVersionTested элемента TargetDeviceFamily манифеста приложения.
XML-файл StoreManifest
StoreManifest.xml — это необязательный файл конфигурации, который может быть включен в пакеты приложений. Его целью является включение таких функций, как объявление вашего приложения как приложения устройства Microsoft Store или указание требований, от которых зависит пакет, чтобы быть применимым к устройству, которые манифест пакета не охватывает. При использовании StoreManifest.xml отправляется с пакетом приложения и должен находиться в корневой папке основного проекта приложения. Дополнительные сведения см. в схеме StoreManifest.
Нумерирование версий пакета
Каждый предоставленный пакет должен иметь номер версии (указан в качестве значения в атрибуте Version элемента Package/Identity в манифесте приложения). Microsoft Store применяет определенные правила, связанные с номерами версий, которые работают несколько иначе в разных версиях ОС.
Примечание.
Этот раздел относится к "пакетам", но если не указано, те же правила применяются к номерам версий для файлов MSIX/.appx и MSIXbundle/.appxbundle.
Нумерирование версий для пакетов Windows 10 и 11
Внимание
Для пакетов Windows 10 или Windows 11 (UWP) последний (четвертый) номер версии зарезервирован для использования в Магазине и должен быть оставлен как 0 при сборке пакета (хотя Магазин может изменить значение в этом разделе). Другие разделы должны иметь целое число от 0 до 65535 (за исключением первого раздела, которое не может быть 0).
При выборе пакета UWP из опубликованной заявки Microsoft Store всегда будет использовать пакет с наивысшей версией, применимый к устройству клиента с Windows 10 или Windows 11. Это обеспечивает большую гибкость и позволяет контролировать, какие пакеты будут предоставляться клиентам на определенных типах устройств. Важно отметить, что эти пакеты можно отправлять в любом порядке; Вы не ограничиваетесь предоставлением более поздних версий пакетов с каждой последующей отправкой.
Вы можете предоставить несколько пакетов UWP с одинаковым номером версии. Однако пакеты, которые имеют один и тот же номер версии, не могут иметь одинаковую архитектуру, так как полная идентификация, которую использует Магазин для каждого из ваших пакетов, должна быть уникальной. Дополнительные сведения см. в разделе "Удостоверение".
При предоставлении нескольких пакетов UWP, использующих один и тот же номер версии, архитектура (в порядке x64, x86, Arm, neutral) будет использоваться для выбора того, какой из них имеет более высокий рейтинг (когда Магазин определяет, какой пакет должен предоставляться устройству клиента). При ранжировании пакетов приложений, использующих тот же номер версии, самый высокий ранг архитектуры в пакете считается: пакет приложений, содержащий пакет x64, будет иметь более высокий ранг, чем один, содержащий только пакет x86.
Это обеспечивает большую гибкость для развития приложения с течением времени. Вы можете загружать и отправлять новые пакеты с более низкими номерами версий, чтобы добавить поддержку для устройств Windows 10 или Windows 11, которые ранее не поддерживались, можно добавить пакеты с более высокими номерами версий и более строгими зависимостями, чтобы воспользоваться преимуществами функций оборудования или ОС, или добавить пакеты с более высокими номерами версий, которые служат обновлениями для части или всей существующей клиентской базы.
В следующем примере показано, как управлять нумерированием версий для доставки предполагаемых пакетов клиентам по нескольким отправкам.
Пример. Переход к одному пакету вместо нескольких отправок
Windows 10 позволяет создавать единую базу кода, которая выполняется везде. Это упрощает запуск нового кроссплатформенного проекта. Однако по ряду причин может не потребоваться объединить существующие базы кода, чтобы сразу создать один проект.
Правила управления версиями пакетов можно использовать для постепенного перемещения клиентов в один пакет для семейства универсальных устройств, при доставке нескольких промежуточных обновлений для определенных семейств устройств (включая те, которые используют преимущества Windows 10 API). В приведенном ниже примере показано, как одни и те же правила последовательно применяются к сериям отправок для одного и того же приложения.
| Отправка | Содержимое | Интерфейс клиента |
|---|---|---|
| 1 | — Версия пакета: 1.1.10.0 — Семейство устройств: Windows. Desktop, minVersion 10.0.10240.0 |
— Устройства на Windows 10 и 11 настольной сборке 10.0.10240.0 и выше получат 1.1.10.0 — Другие семейства устройств не смогут приобрести и установить приложение. |
| 2 | — Версия пакета: 1.1.10.0 — Семейство устройств: Windows Desktop, minVersion 10.0.10240.0 — Версия пакета: 1.0.0.0.0 — Семейство устройств: Windows. Universal, minVersion 10.0.10240.0 |
— Устройства на Windows 10 и 11 десктопной сборке 10.0.10240.0 и выше получат 1.1.10.0 — Другие семейства устройств , отличные от настольных компьютеров, когда они появились, получат 1.0.0.0 — Настольные устройства, которые уже установили приложение, не увидят никаких обновлений (так как они уже имеют лучшую доступную версию 1.1.10.0 и выше 1.0.0.0). |
| 3 | — Версия пакета: 1.1.10.0 — Семейство устройств: Windows.Desktop, minVersion 10.0.10240.0 — Версия пакета: 1.1.5.0 — Семейство устройств: Windows. Universal, minVersion 10.0.10250.0 — Версия пакета: 1.0.0.0.0 — Семейство устройств: Windows. Universal, minVersion 10.0.10240.0 |
— Устройства на Windows 10 и 11 версии для настольных ПК 10.0.10240.0 и выше получат 1.1.10.0 — Другие семейства устройств ( не настольного компьютера) при вводе сборки 10.0.10250.0 и выше будут получать 1.1.1.5.0 — Другие семейства устройств (не настольные компьютеры) при запуске со сборкой >=10.0.10240.0 и < 10.0.10250.0 получат 1.1.0.0. — Классические устройства, которые уже установили приложение, не увидят никаких обновлений (так как они уже имеют лучшую доступную версию 1.1.10.0, которая выше 1.1.5.0 и 1.0.0.0). |
| 4 | — Версия пакета: 2.0.0.0.0 — Семейство устройств: Windows. Universal, minVersion 10.0.10240.0 |
— Все клиенты всех семейств устройств на Windows 10 и 11 сборки версии 10.0.10240.0 и выше получат пакет 2.0.0.0.0. |
Примечание.
Во всех случаях клиентские устройства получат пакет с наивысшим возможным номером версии, на которую они имеют право. Например, в третьей сборке выше все настольные устройства получат версию 1.1.10.0, даже если у них установлена ОС версии 10.0.10250.0 или более поздней и поэтому могли бы также принять версию 1.1.5.0. Так как 1.1.10.0 является самым высоким номером версии, доступным для них, то есть пакет, который они получат.
Использование нумерования версий для отката до ранее отправленного пакета для новых приобретений
Если вы храните копии своих пакетов, у вас будет возможность выполнить откат пакета приложения в Магазине до более ранней версии пакета для Windows 10, если вы обнаружите проблемы с выпуском. Это временный способ ограничить прерывание работы клиентов во время устранения проблемы.
Для этого создайте новую отправку. Удалите проблемный пакет и отправьте старый пакет, который вы хотите предоставить в Магазине. Клиенты, которые уже получили пакет, который вы откатили, по-прежнему будут иметь проблемный пакет (так как старый пакет будет иметь более ранний номер версии). Но это остановит всех остальных от получения проблемного пакета, позволяя приложению по-прежнему быть доступным в Магазине.
Чтобы устранить проблему для клиентов, которые уже получили проблемный пакет, можно отправить новый пакет Windows 10 с более высоким номером версии, чем плохой пакет, как только вы можете. После того как отправка пройдет процесс сертификации, все клиенты будут обновлены до нового пакета, так как у него будет более высокий номер версии.
Поддерживаемые языки
Приложения можно отправлять на Microsoft Store более чем на 100 языках.
Дополнительные сведения о настройке языков в приложениях см. в статье "Глобализация" и "Локализация" и "Общие сведения о языках профилей пользователей" иязыках манифеста приложения. У нас также есть набор средств многоязычных приложений, которые помогают создавать приложения, поддерживающие несколько языков.
Список поддерживаемых языков
Это языки, поддерживаемые Microsoft Store. Ваше приложение должно поддерживать хотя бы один из этих языков.
Языковые коды, не включенные здесь, не поддерживаются магазином. Рекомендуется не включать пакеты, предназначенные для кодов языка, отличных от указанных ниже; такие пакеты не будут распространяться клиентами и могут привести к задержкам или сбоям в сертификации.
| Имя языка | Коды поддерживаемых языков |
|---|---|
| Арабский | ar-sa, ar-ae, ar-bh, ar-dz, ar-eg, ar-iq, ar-jo, ar-kw, ar-lb, ar-ly, ar-om, ar-qa, ar-sy, ar-tn, ar-ye |
| Африкаанс | AF, af-za |
| Албанский | кв., sq-al |
| Амхарский | утра, am-et |
| Армянский | привет, hy-am |
| Ассамский | как, as-in |
| Азербайджанский | Коды языков и письменностей: az-arab (азербайджанский, арабский алфавит), az-arab-az, az-cyrl (азербайджанский, кириллический алфавит), az-cyrl-az, az-latn (азербайджанский, латинский алфавит), az-latn-az |
| Баскский | ЕС, eu-es |
| Белорусский | быть, be-by |
| Бенгальский | bn, bn-bd, bn-in |
| Боснийский | bs, bs-cyrl, bs-cyrl-ba, bs-latn, bs-latn-ba |
| Болгарский | БГ, bg-bg |
| Каталанский | ca, ca-es, ca-es-Валенсия |
| Чероки | chr-cher, chr-cher-us, chr-latn |
| Китайский (упрощенный) | zh-Hans, zh-cn, zh-hans-cn, zh-sg, zh-hans-sg |
| Традиционные китайские иероглифы | zh-Hant, zh-hk, zh-mo, zh-tw, zh-hant-hk, zh-hant-mo, zh-hant-tw |
| Хорватский | HR, hr-hr, hr-ba |
| чешский | CS, cs-cz |
| датский | да, da-dk |
| Дари | prs, prs-af, prs-arab |
| Голландский | nl, nl-nl, nl-be |
| Английский | ru-RU: en, en-au, en-ca, en-gb, en-ie, en-in, en-nz, en-sg, en-us, en-za, en-bz, en-hk, en-id, en-jm, en-kz, en-mt, en-my, en-ph, en-pk, en-tt, en-vn, en-zw, en-053, en-021, en-029, en-011, en-018, en-014 |
| Эстонский | et, et-ee |
| Филиппинский | фил, фил-латн, фил-фх |
| Финский | fi, fi-fi |
| Французский | fr, fr-be, fr-ca, fr-ch, fr-fr, fr-lu, fr-015, fr-cd, fr-ci, fr-cm, fr-ht, fr-ma, fr-mc, fr-ml, fr-re, frc-latn, frp-latn, fr-155, fr-029, fr-021, fr-011 |
| Галисийский | gl, gl-es |
| Грузинский | ка, ка-ге |
| Немецкий | de, de-at, de-ch, de-de, de-lu, de-li |
| Греческий | el, el-gr |
| Гуджарати | Гу, gu-in |
| Хауса | ha, ha-latn, ha-latn-ng |
| Иврит | он, he-il |
| Хинди | привет, hi-in |
| Венгерский | ху, ху-ху |
| Исландский | является, is-is |
| Игбо | ig-latn, ig-ng |
| Индонезийский | Там же, id-id |
| Inuktitut (латиница) | iu-cans, iu-latn, iu-latn-ca |
| Ирландский | ga, ga-ie |
| исикоса | xh, xh-za |
| Зулу | zu, zu-za |
| Итальянский | it, it-it, it-ch |
| Японский | ja, ja-jp |
| Каннада | kn, kn-in |
| Казахский | кк, kk-kz |
| Кхмерский | км, km-kh |
| K'iche' | quc-latn, qut-gt, qut-latn |
| Киньяруанда | RW, rw-rw |
| Суахили | СВ, sw-ke |
| Конкани | кок, кок-ин |
| Корейский | Ко, ko-kr |
| Курдский | ку-араб, ку-араб-иq |
| Киргизский | ky-kg, ky-cyrl |
| Лаосский | привет, lo-la |
| Латышский | lv, lv-lv |
| Литовский | LT, lt-lt |
| Люксембургский | фунт, lb-lu |
| Македонец | МК, mk-mk |
| Малайский | ms,ms-bn, ms-my |
| Малаялам | мл, ml-in |
| Мальтийский | mt, mt-mt |
| Маори | ми, ми-латн, mi-nz |
| Маратхи | г-н, mr-in |
| Монгольский (кириллица) | mn-cyrl, mn-mong, mn-mn, mn-phag |
| Непальский | не, ne-np |
| Норвежский | nb, nb-no, nn, nn-no, нет, нет, нет, |
| Ория | или, или-в |
| Персидский | фа, fa-ir |
| Польский | pl, pl-pl |
| Португальский (Бразилия) | pt-br |
| Португальский (Португалия) | pt, pt-pt |
| Панджаби | па, па-араб, па-араб-пк, па-дева, па-ин |
| Кечуа | quz, quz-bo, quz-ec, quz-pe |
| Румынский | Ро, ро-ро |
| русский | ru, ru-ru |
| Шотландский гэльский | gd-gb, gd-latn |
| Сербский (латиница) | sr-Latn, sr-latn-cs, sr-latn-ba, sr-latn-me, sr-latn-rs |
| Сербский (кириллица) | sr-cyrl, sr-cyrl-ba, sr-cyrl-cs, sr-cyrl-me, sr-cyrl-rs |
| Северный сото | nso, nso-za |
| Тсвана | тн, tn-bw, tn-za |
| Синдхи | sd-arab, sd-arab-pk, sd-deva |
| Сингальский | да, si-lk |
| Словацкий | SK, sk-sk |
| Словенский | сл, sl-si |
| Испанский | es, es-cl, es-co, es-es, es-mx, es-ar, es-bo, es-cr, es-do, es-ec, es-hn, es-ni, es-pa, es-pe, es-pr, es-py, es-sv, es-us, es-uy, es-ve, es-019, es-419 |
| Шведский | SV, sv-se, sv-fi |
| Таджикский (кириллица) | tg-arab, tg-cyrl, tg-cyrl-tj, tg-latn |
| Тамильский | ta, ta-in |
| Татарский | tt-arab, tt-cyrl, tt-latn, tt-ru |
| Телугу | te, te-in |
| Тайский | th, th-th |
| Тигринья | ти, ti-et |
| Турецкий | tr, tr-tr |
| Туркменский | tk-cyrl, tk-latn, tk-tm, tk-latn-tr, tk-cyrl-tr |
| Украинский | ук, uk-ua |
| Урду | ур, ур-пк |
| Уйгурский | ug-arab, ug-cn, ug-cyrl, ug-latn |
| Узбекский (латиница) | уз, уз-кирилл, уз-лат, уз-лат-уз |
| Вьетнамский | vi, vi-vn |
| Валлийский | Cy, cy-gb |
| Волоф | Wo, wo-sn |
| Йоруба | йо-латн, йо-нг |
Windows developer