MSIX op Windows 10 en Windows 11

MSIX werkt op zowel Windows 10 als Windows 11, maar niet alle functies zijn beschikbaar op beide. Er zijn verschillende mogelijkheden geïntroduceerd met Windows 11 en zijn niet teruggezet, en sommige Windows 10 bugs blijven onopgeloste. Deze pagina helpt u te begrijpen wat waar werkt, zodat u weloverwogen verpakkingsbeslissingen kunt nemen wanneer u Windows 10 moet ondersteunen.

Belangrijk

Windows 10 basisondersteuning beëindigd op 14 oktober 2025 (alle niet-LTSC-versies). Windows 10 LTSC 2021 wordt ondersteund tot 12 januari 2027. Als uw doelgroep zich nog steeds op Windows 10 bevindt, moet u dienovereenkomstig plannen. Het is waarschijnlijk dat functiefouten waarschijnlijk niet worden opgelost in oudere Windows 10 releases.

Functievergelijking: Windows 10 versus Windows 11

In de onderstaande tabel wordt de beschikbaarheid van MSIX-functies vergeleken tussen de nieuwste Windows 10 release (22H2, die dezelfde functieondersteuning heeft als 21H2) en Windows 11.

Feature Windows 10 (22H2) Windows 11
MsiX-kerninstallatie en -verwijdering
Ondersteuning voor app-installatieprogrammabestand (.appinstaller)
Eigenhandig installeren (installatie buiten de Store om) ✅Beleid of ontwikkelaarsmodus vereist AllowAllTrustedApps ✅ Standaard ingeschakeld
Windows services in MSIX ✅ (vereist Windows 10 versie 2004+)
Pakket met externe locatie (sparse pakketten) ✅ (vereist Windows 10 versie 2004+)
Gehoste apps ✅ (vereist Windows 10 versie 2004+)
Handhaving van pakketintegriteit (niet-winkel) ✅ (vereist Windows 10 versie 2004+)
Flexibele virtualisatie ✅ (vereist Windows 10 versie 21H1+)
Startmenugroepen ✅ (vereist Windows 10 versie 21H1+)
Wijzigingspakketten
Package Support Framework (PSF)
Gedeelde pakketcontainers alleen ❌ Windows 11
Ondersteuning voor verouderde contextmenu's (Shell-extensies) ❌ Windows 11 alleen
Veranderlijke pakketmappen alleen ❌ Windows 11
MSIX Persistent Identity (overleeft het opnieuw installeren) alleen ❌ Windows 11
Dynamische afhankelijkheden ✅ Via Windows App SDK dynamische afhankelijkheids-API's (Mdd*/bootstrapper) op ondersteunde Windows App SDK versies; ❌ os-systeemeigen API ✅ Via Windows App SDK; Systeemeigen OS-API beschikbaar op Windows 11 versie 22H2+

Zie MSIX-functies en ondersteunde platforms voor het volledige overzicht per versie van alle Windows 10-releases.

functies met alleen Windows 11

Als uw app gebruikmaakt van een van de volgende functies, werkt deze niet aan Windows 10:

Gedeelde pakketcontainers

Met gedeelde pakketcontainers kunnen meerdere verpakte apps een gemeenschappelijke pakketnaamruimte delen, zodat ze gegevens en instellingen kunnen delen. Voor deze functie is Windows 11 vereist.

Windows 10 alternative: Gebruik een gedeelde Win32-gegevenslocatie (zoals %ProgramData% of een benoemde pijp) buiten de MSIX-container of herstructureer de apps als gerelateerde pakketten binnen één bundel.

Ondersteuning voor verouderde contextmenu's

Windows 11 heeft ondersteuning geïntroduceerd voor het registreren van MSIX-pakket shell-extensies (contextmenu's met de rechtermuisknop) die worden weergegeven in het klassieke contextmenu. Dit is voornamelijk relevant bij het converteren van verouderde bureaublad-apps naar MSIX.

Windows 10-alternatief: Gebruik het Package Support Framework (PSF) of lever contextmenu-extensies via een aparte Win32-installatieprogramma op Windows 10.

Veranderlijke pakketmappen

Met onveranderbare pakketmappen kunnen apps naar een submap binnen de installatielocatie schrijven in plaats van naar de gevirtualiseerde container. Vereist Windows 11.

Windows 10 alternatief: Schrijven naar ApplicationData.Current.LocalFolder (AppData\Local\Packages...\LocalState) of een locatie buiten het pakket.

Permanente MSIX-identiteit

MSIX Persistent Identity zorgt ervoor dat de pakketidentiteit van een app (familienaam, uitgever, enzovoort) behouden blijft tijdens het de-installeren en opnieuw installeren. Zonder dit worden gegevens in LocalState verwijderd wanneer de app wordt verwijderd. Vereist Windows 11.

Windows 10 alternatief: Permanente gegevens opslaan buiten de pakketcontainer, bijvoorbeeld in %APPDATA%, %LOCALAPPDATA% (buiten de map Pakketten) of een database in %ProgramData%.

Dynamische afhankelijkheden

Met dynamische afhankelijkheden kunnen verpakte apps uitvoeringstijd-afhankelijkheden aangaan van frameworkpakketten die niet bij het inpakken worden gedeclareerd. Dit is het mechanisme dat onder de ondersteuning van de Windows App SDK ligt voor uitgepakte apps. De Windows App SDK dynamische afhankelijkheids-API's (inclusief de Mdd*-API's en bootstrapperstroom) worden ondersteund op zowel Windows 10 als Windows 11 waar de Windows App SDK wordt ondersteund. Er is ook een afzonderlijke implementatie van systeemeigen dynamische afhankelijkheid beschikbaar op Windows 11, versie 22H2 en hoger.

Windows 10 guidance: Gebruik de Windows App SDK dynamische afhankelijkheids-API's of bootstrapper om afhankelijkheidsresolutie op Windows 10 af te handelen. Er is geen tijdelijke oplossing nodig.

Windows 10-specifieke overwegingen

Beleid voor sideloading

In Windows 10 versie 2004 en hoger kunnen ondertekende MSIX-pakketten die niet in de Store staan, over het algemeen worden geïnstalleerd door erop te dubbelklikken zonder sideloading afzonderlijk in te schakelen. In oudere Windows 10 versies (pre-2004) moet sideloading zijn ingeschakeld via de ontwikkelaarsmodus of het AllowAllTrustedApps Groepsbeleid.

Uitzonderingen zijn van toepassing, ongeacht Windows versie: niet-ondertekende pakketten vereisen aanvullende vertrouwensconfiguratie en door ondernemingen beheerde apparaten kunnen de installatie van niet-Store-apps beperken of uitschakelen via beleid.

Op Windows 11 is sideloading ook standaard ingeschakeld voor standaardondertekende pakketten, onderworpen aan dezelfde beleidsbeperkingen.

Beperkingen voor LTSC 2021-functies

Windows 10 LTSC 2021 (build 19044, equivalent aan 20H2) ontbreken functies die zijn toegevoegd in Windows 10 21H1 en hoger:

Feature LTSC 2021 Windows 10 21H1+
Flexibele virtualisatie
Startmenugroepen

Als uw bedrijfsimplementatie is gericht op LTSC 2021, vertrouwt u niet op flexibele virtualisatie of verpakte startmenugroepen.

Onopgeloste bugs op Windows 10

Sommige MSIX-problemen die zijn gerapporteerd over Windows 10 zijn niet gebackporteerd en zullen waarschijnlijk niet worden opgelost vanwege de end-of-support-status van Windows 10. Als u MSIX-gedrag ondervindt op Windows 10 die verschilt van Windows 11, controleert u de openstaande problemen in de opslagplaats microsoft/msix-packaging.

Veelvoorkomende categorieën van bekende Windows 10-specifieke problemen zijn:

  • Edgegevallen voor registervirtualisatie
  • Betrouwbaarheid van app-installatieprogramma met bepaalde netwerkconfiguraties
  • Compatibiliteit van verpakkingshulpprogramma's met sommige typen installatieprogramma's

Verpakkingsprogramma's voor Windows 10 doelplatforms

Als u apps voor Windows 10 verpakt en compatibiliteitsproblemen ondervindt met hulpprogramma's, bieden verschillende community packaging tools aanvullende compatibiliteitsworkarounds:

  • MSIX Packaging Tool (Microsoft) — het officiële hulpmiddel; actief onderhouden
  • Advanced Installer — commercieel hulpprogramma met sterke Windows 10 MSIX-ondersteuning en een goed onderhouden compatibiliteitsmatrix
  • Conveyor — community-tool dat het verpakken automatiseert voor meerdere doelen, waaronder MSIX; nuttig als je ook bezorgt via macOS of Linux

Deze hulpprogramma's kunnen in sommige Windows 10 edge-gevallen in het buildproces soepel verlopen, hoewel runtimebesturingssysteembeperkingen (zoals ontbrekende Win11-API's) niet in de verpakking kunnen worden verwerkt.

Aanbeveling

Als u Windows 10 wilt ondersteunen:

  1. Vermijd functies die alleen voor Windows 11 beschikbaar zijn — gebruik geen gedeelde pakketcontainers, veranderlijke pakketmappen, permanente identiteit of dynamische afhankelijkheden als uw MinVersion-doelen Windows 10.
  2. Stel een nauwkeurige MinVersion in het TargetDeviceFamily-element van uw MSIX-manifest in op de oudste Windows 10-versie die u wilt ondersteunen.
  3. Test specifiek op Windows 10 — gedragsverschillen tussen Windows 10 en Windows 11 worden zelden in CI-pijplijnen met alleen Windows 11 gedetecteerd.
  4. Plan uw Win10 EOL-strategie, waarbij de basisondersteuning voor Windows 10 is beëindigd, kunt u overwegen een roadmap in te stellen om Windows 11 in een toekomstige app-versie te vereisen.