Numeração de versão do pacote

Cada pacote fornecido deve ter um número de versão (fornecido como um valor no atributo Version do elemento Pacote/Identidade do manifesto do aplicativo). A Microsoft Store impõe certas regras relacionadas a números de versão, que funcionam de forma um pouco diferente em diferentes versões do sistema operacional.

Observação

Este tópico refere-se a "pacotes", mas, a menos que indicado, as mesmas regras se aplicam aos números de versão para arquivos .msix/.appx e .msixbundle/.appxbundle.

Numeração de versão para pacotes do Windows 10 e 11

Importante

Para pacotes do Windows 10 ou Windows 11 (UWP), a última (quarta) seção do número da versão é reservada para uso na Store e deve ser deixada como 0 quando você compilar o pacote (embora a Store possa alterar o valor nessa seção). As outras seções devem ser definidas como um inteiro entre 0 e 65535 (exceto a primeira seção, que não pode ser 0).

Ao escolher um pacote UWP do envio publicado, a Microsoft Store sempre usará o pacote com a versão mais alta aplicável ao dispositivo Windows 10 ou Windows 11 do cliente. Isso oferece maior flexibilidade e o coloca no controle sobre quais pacotes serão fornecidos aos clientes em tipos de dispositivos específicos. É importante ressaltar que você pode enviar esses pacotes em qualquer ordem. Você não está limitado a fornecer pacotes com versões mais altas a cada envio posterior.

Você pode fornecer vários pacotes UWP com o mesmo número de versão. No entanto, os pacotes que compartilham um número de versão também não podem ter a mesma arquitetura, porque a identidade completa que a Store usa para cada um dos pacotes deve ser exclusiva. Para obter mais informações, consulte Identidade.

Quando você fornece vários pacotes UWP que usam o mesmo número de versão, a arquitetura (na ordem x64, x86, Arm, neutral) será usada para decidir qual deles é de classificação mais alta (quando a Store determina qual pacote fornecer ao dispositivo de um cliente). Ao classificar pacotes de aplicativos que usam o mesmo número de versão, a classificação de arquitetura mais alta dentro do pacote é considerada: um pacote de aplicativos que contém um pacote x64 terá uma classificação mais alta do que um que contém apenas um pacote x86.

Isso lhe dá muita flexibilidade para evoluir seu aplicativo ao longo do tempo. Você pode carregar e enviar novos pacotes que usam números de versão mais baixos para adicionar suporte a dispositivos Windows 10 ou Windows 11 para os quais você não fornecia suporte anteriormente, pode adicionar pacotes com versões mais altas que têm dependências mais rígidas para aproveitar os recursos de hardware ou sistema operacional ou pode adicionar pacotes com versões mais altas que servem como atualizações para parte ou toda a sua base de clientes existentes.

O exemplo a seguir ilustra como a numeração de versão pode ser gerenciada para entregar os pacotes pretendidos aos seus clientes por meio de vários envios.

Exemplo: Mudando para um único pacote em vários envios

O Windows 10 permite que você escreva uma única base de código que é executada em todos os lugares. Isso torna o início de um novo projeto multiplataforma muito mais fácil. No entanto, por vários motivos, talvez você não queira mesclar bases de código existentes para criar um único projeto imediatamente.

Você pode usar as regras de controle de versão de pacotes para mudar gradualmente seus clientes para um único pacote da família de dispositivos Universal, enquanto envia várias atualizações provisórias para famílias de dispositivos específicas (incluindo aquelas que aproveitam as APIs do Windows 10). O exemplo abaixo ilustra como as mesmas regras são aplicadas consistentemente em uma série de envios para o mesmo aplicativo.

Envio Contents Experiência do cliente
1 - Versão do pacote: 1.1.10.0
- Família de dispositivos: Windows.Desktop, minVersion 10.0.10240.0
– Dispositivos na compilação Windows 10 e 11 Desktop 10.0.10240.0 e acima receberão 1.1.10.0
- Outras famílias de dispositivos não poderão comprar e instalar o aplicativo
2 - Versão do pacote: 1.1.10.0
- Família de dispositivos: Windows.Desktop, minVersion 10.0.10240.0

- Versão do pacote: 1.0.0.0
- Família de dispositivos: Windows.Universal, minVersion 10.0.10240.0
– Dispositivos na compilação Windows 10 e 11 Desktop 10.0.10240.0 e acima receberão 1.1.10.0
– Outras famílias de dispositivos (não desktop) que forem introduzidas receberão 1.0.0.0
– Os dispositivos desktop que já têm o aplicativo instalado não verão nenhuma atualização porque já têm a melhor versão disponível, isto é, 1.1.10.0, e são posteriores a 1.0.0.0
3 - Versão do pacote: 1.1.10.0
- Família de dispositivos: Windows.Desktop, minVersion 10.0.10240.0

- Versão do pacote: 1.1.5.0
- Família de dispositivos: Windows.Universal, minVersion 10.0.10250.0

- Versão do pacote: 1.0.0.0
- Família de dispositivos: Windows.Universal, minVersion 10.0.10240.0
– Dispositivos na compilação Windows 10 e 11 Desktop 10.0.10240.0 e acima receberão 1.1.10.0
– Outras famílias de dispositivos (não desktop) introduzidas com a compilação 10.0.10250.0 e acima receberão 1.1.5.0
– Outras famílias de dispositivos (não desktop) quando introduzidos com a compilação >=10.0.10240.0 e < 10.010250.0 receberão 1.1.0.0
– Os dispositivos desktop que já têm o aplicativo instalado não verão nenhuma atualização porque eles já têm a melhor versão disponível, isto é, 1.1.10.0, que já é posterior a 1.1.5.0 e 1.0.0.0)
4 - Versão do pacote: 2.0.0.0
- Família de dispositivos: Windows.Universal, minVersion 10.0.10240.0
– Todos os clientes em todas as famílias de dispositivos na compilação v10.0.10240.0 e acima do Windows 10 e 11 receberão o pacote 2.0.0.0

Observação

 Em todos os casos, os dispositivos do cliente receberão o pacote que tem o número de versão mais alto possível para o qual eles se qualificam. Por exemplo, no terceiro envio acima, todos os dispositivos desktop receberão a v1.1.10.0, mesmo que tenham a versão do sistema operacional 10.0.10250.0 ou posterior e, portanto, também poderiam aceitar a v1.1.5.0. Como 1.1.10.0 é o número de versão mais alto disponível para eles, esse é o pacote que eles receberão.

Usar a numeração de versão para reverter para um pacote enviado anteriormente para novas aquisições

Se você mantiver cópias de seus pacotes, terá a opção de reverter o pacote do seu aplicativo na Store para um pacote anterior do Windows 10, se descobrir problemas com uma versão. Essa é uma maneira temporária de limitar a interrupção para seus clientes, enquanto você corrige o problema.

Para fazer isso, crie um novo envio. Remova o pacote problemático e carregue o pacote antigo que você deseja fornecer na Store. Os clientes que já receberam o pacote que você está revertendo ainda terão o pacote problemático (já que seu pacote mais antigo terá um número de versão anterior). Mas isso impedirá que qualquer outra pessoa adquira o pacote problemático, permitindo que o aplicativo ainda esteja disponível na Store.

Para corrigir o problema para os clientes que já receberam o pacote problemático, você pode enviar um novo pacote do Windows 10 que tenha um número de versão maior do que o pacote incorreto, assim que puder. Após esse envio passar pelo processo de certificação, todos os clientes serão atualizados para o novo pacote, já que ele terá um número de versão maior.

Você pode gerenciar a numeração da versão do pacote pelo instalador. A numeração da versão do pacote para Win32 não é fornecida pela Store.

Importante

A numeração da versão do pacote não é suportada para complementos de aplicativos.