Översikt över MSIX-containerisering

MSIX använder en containeriseringsmodell för att isolera appar från resten av systemet. Till skillnad från generell containerteknik (till exempel Docker) är MSIX-containrar inte virtuella datorer och kräver ingen separat OS-avbildning. I stället omdirigerar Windows en apps filsystem- och registeraktivitet vid körning, vilket gör att appar hålls fristående samtidigt som de kan samverka med resten av Windows normalt.

Den här artikeln förklarar isoleringsmodellen, de två förtroendenivåerna som är tillgängliga för paketerade appar och de fördelar som den här metoden ger.

Vad MSIX-containerisering är (och inte är)

När du installerar ett MSIX-paket placerar Windows appens filer på en skyddad plats (C:\Program Files\WindowsApps\) som själva appen inte kan ändra. Vid körning tillhandahåller Windows appen en virtualiserad vy för filsystemet och registret: läsningar går till paketets installationsplats och skrivningar omdirigeras till platser per användare som Windows hanterar.

Detta innebär att:

  • Appens installationsfiler ändras aldrig vid körning.
  • Apptillstånd lagras separat från app binärfiler – gör uppdateringar, reparationer och avinstallationer rena och tillförlitliga.

Anmärkning

MSIX-containrar är en Windows körningsfunktion, inte en separat operativsystemmiljö. Appen körs som en intern Windows process – den har bara en virtualiserad vy över vissa systemresurser.

Två förtroendenivåer

Paketerade appar körs på en av två förtroendenivåer, som avgör graden av isolering:

Fullständigt förtroende (medelhög integritet)

Fullständiga förtroendeappar körs med samma behörigheter som en vanlig skrivbordsapp. Windows tillhandahåller package-identitet och viss fil-/registervirtualisering, men appen kan fortfarande komma åt de flesta systemresurser direkt.

Detta är standardvärdet för appar som konverterats från Win32-installationsprogram med hjälp av MSIX-paketeringsverktyget och för de flesta WinUI 3-skrivbordsappar.

AppContainer (partiellt förtroende)

AppContainer-appar körs i en strikt isolerad miljö. Processen och dess underordnade kan bara komma åt resurser som uttryckligen beviljas. Windows framtvingar isolering med hjälp av filsystem- och registervirtualisering och AppContainer-säkerhetsgränser.

UWP-appar körs alltid i en AppContainer. Skrivbordsappar kan också välja AppContainer genom att deklarera det i appmanifestet.

Tips/Råd

AppContainer-appar får de starkaste säkerhetsgarantierna, men kräver mer arbete för att konfigurera korrekt, särskilt för appar som förlitar sig på bred systemåtkomst. Se MSIX AppContainer-appar för konfigurationssteg.

Fördelar med MSIX-containeriseringsmodellen

Förmån Beskrivning
Fullständig avinstallation Eftersom Windows spårar alla apptillstånd separat tar avinstallationen av ett MSIX-paket bort alla appfiler, registerposter och systemändringar – utan överblivna artefakter. Användarskapade filer bevaras.
Tillförlitliga uppdateringar Appens binärfiler är skrivskyddade under körning. Uppdateringar ersätter paketet atomiskt och appen kan återställas om det behövs.
Ingen registerförorening Registerskrivningar från appen går till en virtuell hive per användare, inte till HKEY_LOCAL_MACHINE. Detta förhindrar registerspridning som är vanligt med traditionella Win32-installationsprogram.
Säkerhetsisolering AppContainer-appar är begränsade till uttryckligen beviljade resurser, vilket minskar effekten av en komprometterad process.
Integritetskontroll Windows kan identifiera manipulering av paketfiler vid körning. Om ett paket manipuleras blockerar Windows starten och initierar reparation. Se Signera en översikt av ett MSIX-paket.

Virtualiseringsomfång

Alla filsystem och registerplatser är inte virtualiserade. Windows tillämpar olika beteende beroende på vilken plats som används:

  • Skrivningar till paketinstallationsfiler blockeras – installationsplatsen är skrivskyddad.
  • Skrivningar till systemplatser (till exempel C:\Windows\) blockeras för AppContainer-appar.
  • Skrivningar till användarprofilplatser (till exempel AppData) omdirigeras till platser per paket för AppContainer-appar eller skickas vidare för appar med fullständigt förtroende.
  • Läsningar från paketerade VFS-platser hanteras från själva paketet, vilket gör att appen fungerar som om den hade installerats på traditionella platser (till exempel C:\Program Files\).

Fullständig teknisk information om hur filsystem och registervirtualisering fungerar finns i Förstå hur paketerade skrivbordsappar körs på Windows.

Delade behållare

Som standard körs varje MSIX-paket i en egen isolerad container. För företagsscenarier där flera paket behöver dela en körningsmiljö, till exempel en huvudapp och ett anpassningspaket, stöder Windows delade paketcontainrar. En delad container ger en definierad uppsättning paket en sammanslagen vy över varandras virtuella filsystem och register.

Det här är en funktion endast för företag som kräver administratörsbehörighet. Se Container för delat paket.

Flexibel virtualisering

Från och med Windows 11 kan appar selektivt välja specifika filsystemmappar eller registernycklar från virtualisering – vilket gör dessa platser synliga för andra appar och bevarar dem över avinstallation. Detta är användbart för appar som behöver dela konfiguration eller data med andra appar samtidigt som de drar nytta av MSIX-paketering.

Se Flexibel virtualisering.