Numerazione delle versioni dei pacchetti

Ogni pacchetto specificato deve avere un numero di versione (fornito come valore nell'attributo Version dell'elemento Package/Identity nel manifesto dell'app). Microsoft Store applica determinate regole relative ai numeri di versione, che funzionano in modo leggermente diverso in versioni diverse del sistema operativo.

Nota

Questo argomento si riferisce a "pacchetti", ma, se non specificato, le stesse regole si applicano ai numeri di versione per entrambi i file con estensione msix/.appx e msixbundle/.appxbundle.

Numerazione delle versioni per pacchetti Windows 10 e 11

Importante

Per i pacchetti Windows 10 o Windows 11 (UWP), l'ultima sezione (quarta) del numero di versione è riservata per l'uso nello Store e deve essere lasciata come 0 quando si compila il pacchetto (anche se lo Store può modificare il valore in questa sezione). Le altre sezioni devono essere impostate su un numero intero compreso tra 0 e 65535 (ad eccezione della prima sezione, che non può essere 0).

Quando scegli un pacchetto UWP dall'invio pubblicato, Microsoft Store userà sempre il pacchetto con versione più recente applicabile al dispositivo Windows 10 o Windows 11 del cliente. In questo modo è possibile ottenere maggiore flessibilità e controllare quali pacchetti verranno forniti ai clienti su tipi di dispositivi specifici. Importante, è possibile inviare questi pacchetti in qualsiasi ordine; non si è limitati a fornire pacchetti con versioni successive con ogni invio successivo.

Puoi fornire più pacchetti UWP con lo stesso numero di versione. Tuttavia, i pacchetti che condividono un numero di versione non possono avere la stessa architettura, perché l'identità completa usata dallo Store per ognuno dei pacchetti deve essere univoca. Per altre info, vedi Identità.

Quando fornisci più pacchetti UWP che usano lo stesso numero di versione, l'architettura (nell'ordine x64, x86, Arm, neutral) verrà usata per decidere quale è di rango superiore (quando lo Store determina il pacchetto da fornire al dispositivo di un cliente). Quando si classificano i bundle di app che usano lo stesso numero di versione, viene considerata la classificazione dell'architettura più alta all'interno del bundle: un bundle di app che contiene un pacchetto x64 avrà un rango superiore a quello che contiene solo un pacchetto x86.

Questo ti offre una grande flessibilità per evolvere la tua app nel tempo. Puoi caricare e inviare nuovi pacchetti che usano numeri di versione inferiori per aggiungere il supporto per i dispositivi Windows 10 o Windows 11 non supportati in precedenza, puoi aggiungere pacchetti con versioni successive che hanno dipendenze più rigide per sfruttare i vantaggi delle funzionalità hardware o del sistema operativo oppure puoi aggiungere pacchetti con versioni successive che fungono da aggiornamenti per alcuni o tutti i tuoi clienti esistenti.

L'esempio seguente illustra come gestire la numerazione delle versioni per recapitare i pacchetti previsti ai clienti tramite più invii.

Esempio: Passaggio a un singolo pacchetto su più invii

Windows 10 consente di scrivere una singola codebase che viene eseguita ovunque. In questo modo, l'avvio di un nuovo progetto multipiattaforma risulta molto più semplice. Tuttavia, per diversi motivi, potrebbe non essere necessario unire immediatamente codebase esistenti per creare un singolo progetto.

Puoi usare le regole di controllo delle versioni dei pacchetti per spostare gradualmente i tuoi clienti in un unico pacchetto per la famiglia di dispositivi universali, mentre distribuisci diversi aggiornamenti provvisori per famiglie di dispositivi specifiche (incluse quelle che sfruttano le API di Windows 10). L'esempio seguente illustra in che modo le stesse regole vengono applicate in modo coerente su una serie di invii per la stessa app.

Invio Contenuto Esperienza cliente
1 - Versione del pacchetto: 1.1.10.0
- Famiglia di dispositivi: Windows.Desktop, minVersion 10.0.10240.0
- Dispositivi in Windows 10 e 11 Desktop build 10.0.10240.0 e versioni successive otterranno 1.1.10.0
- Altre famiglie di dispositivi non saranno in grado di acquistare e installare l'app
2 - Versione del pacchetto: 1.1.10.0
- Famiglia di dispositivi: Windows.Desktop, minVersion 10.0.10240.0

- Versione del pacchetto: 1.0.0.0
- Famiglia di dispositivi: Windows.Universal, minVersion 10.0.10240.0
- Dispositivi in Windows 10 e 11 Desktop build 10.0.10240.0 e versioni successive otterranno 1.1.10.0
- Altre famiglie di dispositivi (non desktop) quando vengono introdotte otterranno 1.0.0.0.0
- I dispositivi desktop che hanno già installato l'app non vedranno alcun aggiornamento (perché hanno già la versione 1.1.10.0 e sono superiori a 1.0.0.0)
3 - Versione del pacchetto: 1.1.10.0
- Famiglia di dispositivi: Windows.Desktop, minVersion 10.0.10240.0

- Versione del pacchetto: 1.1.5.0
- Famiglia di dispositivi: Windows.Universal, minVersion 10.0.10250.0

- Versione del pacchetto: 1.0.0.0
- Famiglia di dispositivi: Windows.Universal, minVersion 10.0.10240.0
- Dispositivi in Windows 10 e 11 Desktop build 10.0.10240.0 e versioni successive otterranno 1.1.10.0
- Altre famiglie di dispositivi (non desktop) quando introdotte con build 10.0.10250.0 e versioni successive otterranno 1.1.5.0
- Altri dispositivi (non desktop) quando introdotti con build >=10.0.10240.0 e < 10.010250.0 otterranno 1.1.0.0
- I dispositivi desktop che hanno già installato l'app non vedranno alcun aggiornamento (perché hanno già la versione 1.1.10.0 più recente di 1.1.5.0 e 1.0.0.0)
4 - Versione del pacchetto: 2.0.0.0
- Famiglia di dispositivi: Windows.Universal, minVersion 10.0.10240.0
- Tutti i clienti in tutte le famiglie di dispositivi in Windows 10 e 11 build v10.0.10240.0 e versioni successive otterranno il pacchetto 2.0.0.0

Nota

 In tutti i casi, i dispositivi dei clienti riceveranno il pacchetto con il numero di versione più alto possibile per cui si qualificano. Ad esempio, nel terzo invio precedente, tutti i dispositivi desktop otterranno la versione 1.1.10.0, anche se hanno la versione del sistema operativo 10.0.10250.0 o successiva e quindi potrebbero accettare anche v1.1.5.0. Poiché 1.1.10.0 è il numero di versione più alto disponibile, ovvero il pacchetto che otterranno.

Uso della numerazione delle versioni per eseguire il rollback a un pacchetto fornito in precedenza per le nuove acquisizioni

Se si conservano copie dei pacchetti, sarà possibile eseguire il rollback del pacchetto dell'app nello Store a un pacchetto di Windows 10 precedente se è necessario individuare problemi con una versione. Si tratta di un modo temporaneo per limitare l'interruzione ai clienti mentre si impiega tempo per risolvere il problema.

A tale scopo, creare un nuovo invio. Rimuovere il pacchetto problematico e caricare il pacchetto precedente che si vuole fornire nello Store. I clienti che hanno già ricevuto il pacchetto di cui si esegue il rollback avranno comunque il pacchetto problematico (poiché il pacchetto precedente avrà un numero di versione precedente). Ma questo impedirà a chiunque altro di acquisire il pacchetto problematico, consentendo all'app di essere ancora disponibile nello Store.

Per risolvere il problema per i clienti che hanno già ricevuto il pacchetto problematico, è possibile inviare un nuovo pacchetto di Windows 10 con un numero di versione superiore rispetto al pacchetto non valido non appena possibile. Dopo che l'invio passa attraverso il processo di certificazione, tutti i clienti verranno aggiornati al nuovo pacchetto, poiché avrà un numero di versione superiore.

È possibile gestire la numerazione delle versioni del pacchetto tramite il programma di installazione. La numerazione delle versioni del pacchetto per Win32 non è soppostata tramite lo Store.

Importante

La numerazione delle versioni del pacchetto non è supportata per i componenti aggiuntivi dell'app.