Freigeben über


MSIX-Containerisierungsübersicht

MSIX verwendet ein Containerisierungsmodell, um Apps vom rest des Systems zu isolieren. Im Gegensatz zu allgemeinen Containertechnologien (z. B. Docker) sind MSIX-Container keine virtuellen Computer und erfordern kein separates Betriebssystemimage. Stattdessen leitet Windows das Dateisystem und die Registry-Aktivität einer App zur Laufzeit um, wobei Apps eigenständig bleiben und gleichzeitig normal mit dem restlichen Windows interagieren können.

In diesem Artikel wird das Isolationsmodell erläutert, die beiden Vertrauensstufen, die für verpackte Apps verfügbar sind, und die Vorteile, die dieser Ansatz bietet.

Was MSIX-Containerisierung ist (und nicht)

Wenn Sie ein MSIX-Paket installieren, platziert Windows die Dateien der App an einem geschützten Speicherort (C:\Program Files\WindowsApps\), die die App selbst nicht ändern kann. Zur Laufzeit stellt Windows der App eine virtualisierte Ansicht des Dateisystems und der Registrierung bereit: Lesevorgänge wechseln zum Installationsspeicherort des Pakets, und Schreibvorgänge werden an Benutzerspeicherorte umgeleitet, die Windows verwaltet.

Dies bedeutet:

  • Die Installationsdateien der App werden zur Laufzeit nie geändert.
  • Der App-Zustand wird separat von App-Binärdateien gespeichert – Updates, Reparaturen und Deinstallationen sind sauber und zuverlässig.

Hinweis

MSIX-Container sind ein Windows Laufzeitfeature, nicht eine separate Betriebssystemumgebung. Die App wird als systemeigener Windows Prozess ausgeführt – sie verfügt lediglich über eine virtualisierte Ansicht bestimmter Systemressourcen.

Zwei Vertrauensstufen

Verpackte Apps werden auf einer von zwei Vertrauensstufen ausgeführt, die den Grad der Isolation bestimmen:

Volle Vertrauenswürdigkeit (mittlere Integrität)

Voll vertrauenswürdige Apps werden mit den gleichen Berechtigungen wie eine Standarddesktop-App ausgeführt. Windows stellt package identity und einige Datei-/Registrierungsvirtualisierung bereit, die App kann jedoch weiterhin direkt auf die meisten Systemressourcen zugreifen.

Dies ist die Standardeinstellung für Apps, die von Win32-Installern mit dem MSIX Packaging Tool und für die meisten WinUI 3-Desktop-Apps konvertiert wurden.

AppContainer (eingeschränkte Vertrauenswürdigkeit)

AppContainer-Apps werden in einer streng isolierten Umgebung ausgeführt. Der Prozess und seine untergeordneten Elemente können nur auf Ressourcen zugreifen, die explizit gewährt werden. Windows erzwingt Isolation durch Dateisystem- und Registrierungsvirtualisierung sowie AppContainer-Sicherheitsgrenzen.

UWP-Apps werden immer in einem AppContainer ausgeführt. Desktop-Apps können sich auch bei AppContainer anmelden, indem sie sie im App-Manifest deklarieren.

Tipp

AppContainer-Apps erhalten die stärksten Sicherheitsgarantien, erfordern jedoch mehr Arbeit, um ordnungsgemäß zu konfigurieren, insbesondere für Apps, die auf einem breiten Systemzugriff basieren. Die Konfigurationsschritte finden Sie unter MSIX AppContainer-Apps .

Vorteile des MSIX-Containerisierungsmodells

Nutzen Beschreibung
Saubere Deinstallation Da Windows den gesamten App-Zustand separat nachverfolgt, entfernt das Deinstallieren eines MSIX-Pakets alle App-Dateien, Registrierungseinträge und Systemänderungen – ohne Restartefakte. Vom Benutzer erstellte Dateien bleiben erhalten.
Zuverlässige Updates App-Binärdateien sind zur Laufzeit im Nur-Lese-Modus. Updates ersetzen das Paket atomar, und die App kann bei Bedarf zurückgesetzt werden.
Keine Registrierungsverschmutzung Registry-Schreibvorgänge aus der App gehen in einen benutzerbezogenen virtuellen Hive, nicht zu HKEY_LOCAL_MACHINE. Dadurch wird die Streuung der Registrierung mit herkömmlichen Win32-Installationsprogrammen verhindert.
Sicherheitsisolation AppContainer-Apps sind auf explizit gewährte Ressourcen beschränkt, wodurch die Auswirkungen eines kompromittierten Prozesses reduziert werden.
Integritätserzwingung Windows können Manipulationen mit Paketdateien zur Laufzeit erkennen. Wenn ein Paket manipuliert wird, blockiert Windows den Startvorgang und löst eine Reparatur aus. Siehe Überblick zum Signieren eines MSIX-Pakets.

Virtualisierungsbereich

Nicht alle Dateisystem- und Registrierungsspeicherorte werden virtualisiert. Windows wendet je nach Standort, auf den zugegriffen wird, ein anderes Verhalten an:

  • Schreibvorgänge in Paketinstallationsdateien werden blockiert – der Installationsspeicherort ist schreibgeschützt.
  • Schreibvorgänge in Systemstandorte (z. B. C:\Windows\) werden für AppContainer-Apps blockiert.
  • Schreibvorgänge an Benutzerprofilspeicherorte (zum Beispiel AppData) werden an Paketspeicherorte für AppContainer-Apps umgeleitet oder für vollständig vertrauenswürdige Apps übergeben.
  • Lesevorgänge aus verpackten VFS-Speicherorten werden vom Paket selbst bereitgestellt, wodurch die App sich so verhält, als wäre sie an herkömmlichen Speicherorten (z. B. C:\Program Files\) installiert.

Ausführliche Informationen zur Funktionsweise der Dateisystem- und Registrierungsvirtualisierung finden Sie unter Verstehen, wie verpackte Desktop-Apps auf Windows ausgeführt werden.

Gemeinsame Container

Standardmäßig wird jedes MSIX-Paket in einem eigenen isolierten Container ausgeführt. Für Unternehmensszenarien, in denen mehrere Pakete eine Laufzeitumgebung gemeinsam nutzen müssen, z. B. eine Haupt-App und ein Anpassungspaket, unterstützt Windows shared package containers. Ein freigegebener Container bietet einem definierten Satz von Paketen eine zusammengeführte Ansicht ihrer jeweiligen virtuellen Dateisysteme und Registries.

Dies ist ein Nur-Unternehmen-Feature, das Administratorrechte erfordert. Siehe Freigegebener Paketcontainer.

Flexible Virtualisierung

Ab Windows 11 können Apps bestimmte Dateisystemordner oder Registrierungsschlüssel selektiv aus der Virtualisierung deaktivieren. Dadurch werden diese Speicherorte für andere Apps sichtbar und über die Deinstallation hinweg beibehalten. Dies ist nützlich für Apps, die Konfiguration oder Daten für andere Apps freigeben müssen, während sie weiterhin von MSIX-Verpackung profitieren.

Siehe flexible Virtualisierung.