Condividi tramite


MSIX in Windows 10 e Windows 11

MSIX funziona sia su Windows 10 che su Windows 11, ma non tutte le funzionalità sono disponibili in entrambi. Sono state introdotte diverse funzionalità con Windows 11 e non sono state sottoposti a backporting e alcuni bug Windows 10 rimangono non risolti. Questa pagina aiuta a comprendere cosa funziona e dove, in modo da poter prendere decisioni informate sui pacchetti quando è necessario supportare Windows 10.

Importante

Windows 10 supporto Mainstream è terminato il 14 ottobre 2025 (tutte le versioni non LTSC). Windows 10 LTSC 2021 è supportato fino al 12 gennaio 2027. Se il gruppo di destinatari è ancora in Windows 10, pianificare di conseguenza: è improbabile che i bug delle funzionalità vengano corretti nelle versioni Windows 10 precedenti.

Confronto tra funzionalità: Windows 10 e Windows 11

La tabella seguente confronta la disponibilità delle funzionalità MSIX tra la versione più recente Windows 10 (22H2, con lo stesso supporto delle funzionalità 21H2) e Windows 11.

Feature Windows 10 (22H2) Windows 11
Installazione e disinstallazione di MSIX core
Supporto del file di App Installer (.appinstaller)
Installazione diretta (non tramite Store) ✅ Richiede AllowAllTrustedApps politica o modalità sviluppatore ✅ Abilitato per impostazione predefinita
Servizi di Windows in MSIX ✅ (richiede Windows 10 versione 2004+)
Pacchetto con percorso esterno (pacchetti sparse) ✅ (richiede Windows 10 versione 2004+)
App ospitate nel cloud ✅ (richiede Windows 10 versione 2004+)
Applicazione dell'integrità dei pacchetti (non derivante da Store) ✅ (richiede Windows 10 versione 2004+)
Virtualizzazione flessibile ✅ (richiede Windows 10 versione 21H1+)
Gruppi di menu Start ✅ (richiede Windows 10 versione 21H1+)
Pacchetti di modifica
PSF (Package Support Framework)
Contenitori di pacchetti condivisi ❌ Windows 11 solamente
Supporto del menu di scelta rapida legacy (estensioni shell) solo ❌ Windows 11
Directory dei pacchetti modificabili solo ❌ Windows 11
Identità persistente MSIX (sopravvive alla reinstallazione) ❌ Windows 11 solo
Dipendenze dinamiche ✅ tramite API di dipendenza dinamiche SDK per app di Windows (Mdd*/bootstrapper) nelle versioni di SDK per app di Windows supportate; ❌ API nativa del sistema operativo ✅ via SDK per app di Windows; API nativa del sistema operativo disponibile in Windows 11 versione 22H2+

Per la suddivisione completa delle versioni per versione in tutte le versioni Windows 10, vedere MSIX features and supported platforms.

funzionalità disponibili solo su Windows 11

Se l'app usa una delle funzionalità seguenti, non funzionerà in Windows 10:

Contenitori di pacchetti condivisi

I contenitori di pacchetti condivisi consentono a più app in pacchetto di condividere uno spazio dei nomi dei pacchetti comune, consentendo loro di condividere dati e impostazioni. Questa funzionalità richiede Windows 11.

Windows 10 alternative: Usare un percorso dati Win32 condiviso (ad esempio %ProgramData% o una named pipe) all'esterno del contenitore MSIX o ristrutturare le app come pacchetti correlati all'interno di un singolo bundle.

Supporto del menu di scelta rapida legacy

Windows 11 ha introdotto il supporto per la registrazione delle estensioni Shell pacchettizzate MSIX (menu di scelta rapida) visualizzate nel menu di scelta rapida classico. Questo è particolarmente rilevante per la conversione di app desktop legacy in MSIX.

Windows 10 alternativa: Usare il Package Support Framework (PSF) o distribuire le estensioni del menu di scelta rapida tramite un programma di installazione Win32 separato su Windows 10.

Directory dei pacchetti modificabili

Le directory dei pacchetti modificabili consentono alle app di scrivere in una sottodirectory all'interno del percorso di installazione, anziché nel contenitore virtualizzato. Richiede Windows 11.

Windows 10 alternative: Scrivere in ApplicationData.Current.LocalFolder (AppData\Local\Packages...\LocalState) o in una posizione esterna al pacchetto.

Identità persistente MSIX

MSIX Persistent Identity garantisce che l'identità del pacchetto di un'app (nome della famiglia, editore e così via) superi la disinstallazione e la reinstallazione. Senza di esso, i dati in LocalState vengono eliminati quando l'app viene disinstallata. Richiede Windows 11.

Windows 10 alternative: Archiviare dati persistenti all'esterno del contenitore del pacchetto, ad esempio in %APPDATA%, %LOCALAPPDATA% (all'esterno della cartella Packages) o un database in %ProgramData%.

Dipendenze dinamiche

Le dipendenze dinamiche consentono alle app in pacchetto di accettare dipendenze di runtime dai pacchetti framework non dichiarati in fase di creazione del pacchetto. Questo è il meccanismo sottostante al supporto di SDK per app di Windows per le app non in pacchetto. Le API di dipendenza dinamiche di SDK per app di Windows (incluse le API Mdd* e il flusso del bootstrapper) sono supportate sia su Windows 10 che su Windows 11 laddove è supportato SDK per app di Windows. Un'implementazione di dipendenza dinamica nativa del sistema operativo separata è disponibile anche in Windows 11, versione 22H2 e successive.

Windows 10 guidance: Usare le API di dipendenza SDK per app di Windows dinamiche o il programma di avvio automatico per gestire la risoluzione delle dipendenze in Windows 10. Non è necessaria alcuna soluzione alternativa.

considerazioni specifiche di Windows 10

Politica di caricamento laterale

In Windows 10 dalla versione 2004 in poi, i pacchetti MSIX firmati non dello Store possono essere in genere installati facendo doppio clic senza abilitare separatamente il sideloading. Nelle versioni precedenti di Windows 10 (pre-2004), il caricamento localizzato deve essere abilitato tramite la Modalità Sviluppatore o i Criteri di Gruppo AllowAllTrustedApps.

Le eccezioni si applicano indipendentemente dalla versione di Windows: i pacchetti non firmati richiedono una configurazione di attendibilità aggiuntiva e i dispositivi gestiti dall'organizzazione possono limitare o disabilitare l'installazione di app non store tramite criteri.

Su Windows 11, il sideloading è anche abilitato per impostazione predefinita per i pacchetti firmati standard, soggetti alle stesse restrizioni basate su criteri.

Limitazioni delle funzionalità LTSC 2021

Windows 10 LTSC 2021 (build 19044, equivalente a 20H2) mancano funzionalità aggiunte in Windows 10 21H1 e versioni successive:

Feature LTSC 2021 Windows 10 21H1+
Virtualizzazione flessibile
Gruppi di menu Start

Se la distribuzione aziendale è indirizzata a LTSC 2021, non fare affidamento sulla virtualizzazione flessibile o sui gruppi di menu Start preconfezionati.

Bug non risolti in Windows 10

Alcuni problemi MSIX segnalati in Windows 10 non sono stati sottoposti a backporting e probabilmente non sono stati risolti in base allo stato di fine del supporto di Windows 10. Se si verifica un comportamento MSIX in Windows 10 diverso da Windows 11, controllare i problemi aperti nel repository microsoft/msix-packaging.

Le categorie comuni di problemi specifici di Windows 10 noti includono:

  • Casi perimetrali di virtualizzazione del Registro di sistema
  • Affidabilità del programma di installazione app con determinate configurazioni di rete
  • Compatibilità di Packaging Tool con alcuni tipi di programma di installazione

Strumenti di creazione di pacchetti per obiettivi Windows 10

Se si stanno creando pacchetti di app per Windows 10 e si verificano problemi di compatibilità degli strumenti, diversi strumenti di creazione di pacchetti della community offrono soluzioni alternative di compatibilità aggiuntive:

  • MSIX Packaging Tool (Microsoft) - strumento ufficiale; gestito attivamente
  • Advanced Installer : strumento commerciale con supporto MSIX Windows 10 e una matrice di compatibilità ben gestita
  • Trasportatore : strumento della community che automatizza la creazione di pacchetti per più destinazioni, tra cui MSIX; utile se si spedisce anche in macOS o Linux

Questi strumenti possono risolvere alcuni casi particolari di Windows 10 nel processo di compilazione, anche se le limitazioni del sistema operativo in fase di runtime (come le API mancanti, disponibili solo in Win11) non possono essere risolte nel confezionamento.

Raccomandazione

Se è necessario supportare Windows 10:

  1. Evita le funzionalità disponibili solo in Windows 11 — non utilizzare contenitori di pacchetti condivisi, directory di pacchetti modificabili, identità persistente o dipendenze dinamiche se la MinVersion è rivolta a Windows 10.
  2. Imposta un valore accurato nel tuo elemento TargetDeviceFamily del manifesto MSIX alla build di Windows 10 più vecchia che intendi supportare.
  3. Test su Windows 10 specificamente: le differenze di comportamento tra Windows 10 e Windows 11 raramente vengono catturate nelle pipeline CI che riguardano solo Windows 11.
  4. Pianificare la strategia EOL Win10, poiché il supporto mainstream per Windows 10 è terminato, è consigliabile impostare una roadmap che richieda Windows 11 in una futura versione dell'app.