Нумерирование версий пакета

Каждый предоставленный пакет должен иметь номер версии (указан в качестве значения в атрибуте 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 позволяет создавать единую базу кода, которая выполняется везде. Это упрощает запуск нового кроссплатформенного проекта. Однако по ряду причин может не потребоваться объединить существующие базы кода, чтобы сразу создать один проект.

Правила управления версиями пакетов можно использовать для постепенного перемещения клиентов в один пакет для семейства универсальных устройств, при доставке ряда промежуточных обновлений для определенных семейств устройств (включая те, которые используют преимущества API Windows 10). В приведенном ниже примере показано, как одни и те же правила последовательно применяются к ряду отправки для одного и того же приложения.

Отправка Содержимое Интерфейс клиента
1 — Версия пакета: 1.1.10.0
— Семейство устройств: Windows.Desktop, minVersion 10.0.10240.0
— Устройства в Windows 10 и 11 Desktop сборки 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 Desktop сборки 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 Desktop сборки 10.0.10240.0 и выше получат 1.1.10.0
— Другие семейства устройств ( не настольного компьютера) при вводе сборки 10.0.10250.0 и выше будут получать 1.1.1.5.0
- Другие (не классические) устройства при вводе сборки >=10.0.10240.0 и < 10.010250.0 получат 1.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 с более высоким номером версии, чем плохой пакет, как только вы сможете. После отправки все клиенты будут обновлены до нового пакета, так как у него будет более высокий номер версии.

Вы можете управлять нумеровой версией пакета с помощью установщика. Нумерирование версий пакета для Win32 не поддерживается через Магазин.

Внимание

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