Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
MsiX używa modelu konteneryzacji do izolowania aplikacji od reszty systemu. W przeciwieństwie do technologii kontenerów ogólnego przeznaczenia (takich jak Docker), kontenery MSIX nie są maszynami wirtualnymi i nie wymagają oddzielnego obrazu systemu operacyjnego. Zamiast tego Windows przekierowuje działanie systemu plików i rejestru aplikacji w czasie wykonywania, zachowując samodzielne działanie aplikacji, umożliwiając im współdziałanie z resztą Windows normalnie.
W tym artykule wyjaśniono model izolacji, dwa poziomy zaufania dostępne dla spakowanych aplikacji i korzyści zapewniane przez to podejście.
Co to jest (a co nie jest) konteneryzacja MSIX
Podczas instalowania pakietu MSIX Windows umieszcza pliki aplikacji w chronionej lokalizacji (C:\Program Files\WindowsApps\), której sama aplikacja nie może modyfikować. W czasie wykonywania Windows udostępnia aplikację z widokiem wirtualizowanym systemu plików i rejestru: odczyty przechodzą do lokalizacji instalacji pakietu, a zapisy są przekierowywane do lokalizacji poszczególnych użytkowników, które Windows zarządza.
Oznacza to:
- Pliki instalacyjne aplikacji nigdy nie są modyfikowane w czasie wykonywania.
- Stan aplikacji jest przechowywany oddzielnie od plików binarnych aplikacji — dzięki czemu aktualizacje, naprawy i odinstalowanie są czyste i niezawodne.
Uwaga / Notatka
Kontenery MSIX są funkcją środowiska uruchomieniowego Windows, a nie oddzielnym środowiskiem systemu operacyjnego. Aplikacja działa jako natywny proces Windows — ma po prostu zwirtualizowany widok niektórych zasobów systemowych.
Dwa poziomy zaufania
Spakowane aplikacje działają na jednym z dwóch poziomów zaufania, które określają stopień izolacji:
Pełne zaufanie (średnia integralność)
Aplikacje o pełnym zaufaniu działają z tymi samymi uprawnieniami co standardowa aplikacja klasyczna. Windows zapewnia tożsamość pakietu oraz wirtualizację plików i rejestru, ale aplikacja wciąż może mieć bezpośredni dostęp do większości zasobów systemowych.
Jest to ustawienie domyślne dla aplikacji konwertowanych z instalatorów Win32 przy użyciu narzędzia MSIX Packaging Tool i dla większości aplikacji klasycznych WinUI 3.
AppContainer (częściowe zaufanie)
Aplikacje AppContainer działają w ściśle izolowanym środowisku. Proces i jego elementy podrzędne mogą uzyskiwać dostęp tylko do zasobów, które są jawnie przyznawane. Windows zapewnia izolację przy użyciu wirtualizacji systemu plików i rejestru oraz granic zabezpieczeń AppContainer.
Aplikacje UWP zawsze działają w środowisku AppContainer. Aplikacje desktopowe mogą również skonfigurować użycie AppContainer, deklarując to w manifeście aplikacji.
Wskazówka
Aplikacje AppContainer zapewniają najsilniejsze gwarancje zabezpieczeń, ale wymagają więcej pracy w celu poprawnego skonfigurowania, zwłaszcza w przypadku aplikacji korzystających z szerokiego dostępu do systemu. Aby uzyskać instrukcje konfiguracji, zobacz Aplikacje MSIX AppContainer .
Zalety modelu konteneryzacji MSIX
| Korzyść | Opis |
|---|---|
| Czyste odinstalowanie | Ponieważ Windows śledzi oddzielnie wszystkie stany aplikacji, odinstalowanie pakietu MSIX usuwa wszystkie pliki aplikacji, wpisy rejestru i zmiany systemowe — bez artefaktów pozostałych. Pliki utworzone przez użytkownika są zachowywane. |
| Niezawodne aktualizacje | Pliki binarne aplikacji są tylko do odczytu w czasie wykonywania. Aktualizacje zastępują pakiet niepodzielnie, a aplikacja może zostać przywrócona w razie potrzeby. |
| Brak zanieczyszczenia rejestru | Zapisy rejestru z aplikacji przechodzą do wirtualnego hive dla poszczególnych użytkowników, a nie do HKEY_LOCAL_MACHINE. Zapobiega to rozrastaniu rejestru w tradycyjnych instalatorach Win32. |
| Izolacja zabezpieczeń | Aplikacje AppContainer są ograniczone do jawnie udzielanych zasobów, co zmniejsza wpływ naruszonego procesu. |
| Wymuszanie integralności | Windows może wykrywać manipulowanie plikami pakietów w czasie wykonywania. Jeśli pakiet zostanie naruszony, Windows blokuje uruchamianie i wyzwala naprawę. Zobacz Podpisywanie pakietu MSIX — omówienie. |
Zakres wirtualizacji
Nie wszystkie lokalizacje systemu plików i rejestru są zwirtualizowane. Windows stosuje różne zachowanie w zależności od lokalizacji, do których uzyskuje się dostęp:
- Zapisy w plikach instalacyjnych pakietu są blokowane — lokalizacja instalacji jest tylko do odczytu.
- Operacje zapisu w lokalizacji system (na przykład
C:\Windows\) są blokowane dla aplikacji AppContainer. - Operacje zapisu w lokalizacjach profilu użytkownika (na przykład
AppData) są przekierowywane do lokalizacji poszczególnych pakietów dla aplikacji AppContainer, natomiast dla aplikacji o pełnym zaufaniu są przetwarzane bezpośrednio. - Odczyty z spakowanych lokalizacji systemu plików VFS są obsługiwane z samego pakietu, dzięki czemu aplikacja zachowuje się tak, jakby była zainstalowana w tradycyjnych lokalizacjach (takich jak
C:\Program Files\).
Aby uzyskać szczegółowe informacje techniczne na temat sposobu działania systemu plików i wirtualizacji rejestru, zobacz
Współdzielone kontenery
Domyślnie każdy pakiet MSIX jest uruchamiany we własnym izolowanym kontenerze. W przypadku scenariuszy dla przedsiębiorstw, w których wiele pakietów musi współużytkować środowisko uruchomieniowe — na przykład główną aplikację i pakiet dostosowywania — Windows obsługuje kontenery pakietów shared. Udostępniony kontener zapewnia zdefiniowanemu zestawowi pakietów połączony widok wzajemnego wirtualnego systemu plików i rejestru.
Jest to funkcja przeznaczona tylko dla przedsiębiorstw, która wymaga uprawnień administracyjnych. Zobacz Kontener pakietów udostępnionych.
Elastyczna wirtualizacja
Począwszy od Windows 11, aplikacje mogą selektywnie wykluczać określone foldery systemu plików lub klucze rejestru z wirtualizacji, dzięki czemu te lokalizacje są widoczne dla innych aplikacji, zachowując je po dezinstalacji. Jest to przydatne w przypadku aplikacji, które muszą udostępniać konfigurację lub dane innym aplikacjom, jednocześnie korzystając z pakietu MSIX.
Zobacz Wirtualizacja elastyczna.