Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
MSIX maakt gebruik van een containerisatiemodel om apps te isoleren van de rest van het systeem. In tegenstelling tot containertechnologieën voor algemeen gebruik (zoals Docker), zijn MSIX-containers geen virtuele machines en hebben geen afzonderlijke installatiekopieën van het besturingssysteem nodig. In plaats daarvan leidt Windows het bestandssysteem en de registeractiviteit van een app tijdens runtime om, zodat apps zelfstandig blijven, terwijl ze kunnen samenwerken met de rest van Windows normaal.
In dit artikel wordt het isolatiemodel uitgelegd, de twee vertrouwensniveaus die beschikbaar zijn voor verpakte apps en de voordelen die deze aanpak biedt.
Wat MSIX-containerisatie is (en niet)
Wanneer u een MSIX-pakket installeert, plaatst Windows de bestanden van de app op een beveiligde locatie (C:\Program Files\WindowsApps\) die de app zelf niet kan wijzigen. Tijdens de uitvoering biedt Windows de app een gevirtualiseerde weergave van het bestandssysteem en het register: leesacties gaan naar de installatielocatie van het pakket, en schrijfoperaties worden omgeleid naar locaties voor iedere gebruiker die Windows beheert.
Dit betekent:
- De installatiebestanden van de app worden nooit tijdens runtime gewijzigd.
- De app-status wordt afzonderlijk van binaire app-bestanden opgeslagen, waardoor updates, reparaties en verwijderingen schoon en betrouwbaar worden.
Opmerking
MSIX-containers zijn een Windows runtime-functie, niet een afzonderlijke besturingssysteemomgeving. De app wordt uitgevoerd als een systeemeigen Windows proces. De app heeft alleen een gevirtualiseerde weergave van bepaalde systeembronnen.
Twee vertrouwensniveaus
Verpakte apps worden uitgevoerd op een van de twee vertrouwensniveaus, die de mate van isolatie bepalen:
Volledig vertrouwen (gemiddelde integriteit)
Volledig vertrouwde apps worden uitgevoerd met dezelfde machtigingen als een standaard bureaublad-app. Windows biedt package identity en sommige bestands-/registervirtualisatie, maar de app heeft nog steeds rechtstreeks toegang tot de meeste systeembronnen.
Dit is de standaardinstelling voor apps die zijn geconverteerd van Win32-installatieprogramma's met behulp van het MSIX Packaging Tool en voor de meeste WinUI 3-desktop-apps.
AppContainer (gedeeltelijke vertrouwensrelatie)
AppContainer-apps worden uitgevoerd in een strikt geïsoleerde omgeving. Het proces en de onderliggende elementen hebben alleen toegang tot resources die expliciet worden verleend. Windows afdwingt isolatie af met behulp van bestandssysteem- en registervirtualisatie en AppContainer-beveiligingsgrenzen.
UWP-apps worden altijd uitgevoerd in een AppContainer. Desktop-apps kunnen zich ook aanmelden voor AppContainer door deze in het app-manifest te declareren.
Aanbeveling
AppContainer-apps krijgen de sterkste beveiligingsgaranties, maar vereisen meer werk om correct te configureren, met name voor apps die afhankelijk zijn van brede systeemtoegang. Zie MSIX AppContainer-apps voor configuratiestappen.
Voordelen van het MSIX-containerisatiemodel
| Vergoeding | Beschrijving |
|---|---|
| Schoon verwijderen | Omdat Windows alle app-status afzonderlijk bijhoudt, worden door het verwijderen van een MSIX-pakket alle app-bestanden, registervermeldingen en systeemwijzigingen verwijderd, zonder restartefacten. Door de gebruiker gemaakte bestanden blijven behouden. |
| Betrouwbare updates | Binaire app-bestanden zijn alleen-lezen tijdens de uitvoering. Updates vervangen het pakket atomisch en de app kan indien nodig worden teruggedraaid. |
| Geen registervervuiling | Schrijfbewerkingen uit de app-registry gaan naar een gebruikersspecifieke virtuele hive, niet naar HKEY_LOCAL_MACHINE. Dit voorkomt de ongecontroleerde groei van het register, die vaak voorkomt bij traditionele Win32-installatieprogramma's. |
| Beveiligingsisolatie | AppContainer-apps zijn beperkt tot expliciet verleende resources, waardoor de impact van een gecompromitteerd proces wordt verminderd. |
| Integriteit afdwingen | Windows kan tijdens runtime manipulatie met pakketbestanden detecteren. Als er met een pakket is geknoeid, blokkeert Windows het starten en activeert herstel. Zie Een MSIX-pakketoverzicht ondertekenen. |
Virtualisatiebereik
Niet alle bestandssysteem- en registerlocaties worden gevirtualiseerd. Windows past ander gedrag toe, afhankelijk van de locatie die wordt geopend:
- Schrijfbewerkingen naar pakketinstallatiebestanden worden geblokkeerd: de installatielocatie is alleen-lezen.
- Schrijfbewerkingen naar systemlocaties (zoals
C:\Windows\) worden geblokkeerd voor AppContainer-apps. - Schrijfbewerkingen naar locaties van gebruikersprofielen (zoals
AppData) worden voor AppContainer-apps omgeleid naar locaties specifiek voor het pakket en voor volledig vertrouwde apps doorgelaten. - Lezingen van verpakte VFS-locaties worden direct vanuit het pakket uitgevoerd, waardoor de app zich gedraagt alsof deze is geïnstalleerd op traditionele locaties (zoals
C:\Program Files\).
Zie Onderstaan hoe verpakte bureaublad-apps worden uitgevoerd op Windows voor meer informatie over hoe bestandssysteem- en registervirtualisatie werkt.
Gedeelde containers
Standaard wordt elk MSIX-pakket uitgevoerd in een eigen geïsoleerde container. Voor bedrijfsscenario's waarbij meerdere pakketten een runtime-omgeving moeten delen, bijvoorbeeld een hoofd-app en een aanpassingspakket, ondersteunt Windows shared-pakketcontainers. Een gedeelde container biedt een gedefinieerde set pakketten een samengevoegde weergave van elkaars virtuele bestandssysteem en register.
Dit is een functie die alleen voor ondernemingen beheerdersbevoegdheden vereist. Zie Container voor gedeeld pakket.
Flexibele virtualisatie
Vanaf Windows 11 kunnen apps selectief specifieke bestandssysteemmappen of registersleutels uit virtualisatie kiezen, waardoor deze locaties zichtbaar zijn voor andere apps en deze blijven behouden tijdens het verwijderen. Dit is handig voor apps die configuratie of gegevens moeten delen met andere apps terwijl ze nog steeds profiteren van MSIX-pakketten.