MsiX w Windows 10 i Windows 11

MsiX działa zarówno na Windows 10, jak i Windows 11, ale nie wszystkie funkcje są dostępne w obu tych usługach. Wprowadzono kilka funkcji z Windows 11 i nie zostały przywrócone, a niektóre Windows 10 błędy pozostają nierozwiązane. Ta strona pomaga zrozumieć, co działa w tym miejscu, dzięki czemu możesz podejmować świadome decyzje dotyczące tworzenia pakietów w przypadku konieczności obsługi Windows 10.

Ważna

Windows 10 wsparcie podstawowe zakończyło się 14 października 2025 r. (wszystkie wersje inne niż LTSC). Windows 10 LTSC 2021 jest obsługiwany do 12 stycznia 2027 r. Jeśli docelowi odbiorcy nadal znajdują się na Windows 10, zaplanuj odpowiednio — błędy funkcji są mało prawdopodobne, aby zostały naprawione w starszych wersjach Windows 10.

Porównanie funkcji: Windows 10 a Windows 11

W poniższej tabeli porównano dostępność funkcji MSIX między najnowszą wersją Windows 10 (22H2, która ma tę samą obsługę funkcji co 21H2) i Windows 11.

Funkcja Windows 10 (22H2) Windows 11
Instalowanie i odinstalowywanie podstawowego pliku MSIX ✅ ✅
Obsługa pliku Instalatora aplikacji (.appinstaller) ✅ ✅
Ładowanie bezpośrednie (instalacja niezwiązana z magazynem) ✅ Wymaga AllowAllTrustedApps zasad lub trybu dewelopera ✅ Domyślnie włączone
usługi Windows w pliku MSIX ✅ (wymaga Windows 10 w wersji 2004+) ✅
Pakiet z lokalizacją zewnętrzną (pakiety rzadkie) ✅ (wymaga Windows 10 w wersji 2004+) ✅
Hostowane aplikacje ✅ (wymaga Windows 10 w wersji 2004+) ✅
Wymuszanie integralności pakietów (bez magazynu) ✅ (wymaga Windows 10 w wersji 2004+) ✅
Elastyczna wirtualizacja ✅ (wymaga Windows 10 w wersji 21H1 lub nowszej) ✅
Grupy menu Start ✅ (wymaga Windows 10 w wersji 21H1 lub nowszej) ✅
Pakiety modyfikacji ✅ ✅
Struktura obsługi pakietów (PSF) ✅ ✅
Kontenery pakietów udostępnionych ❌ Windows 11 tylko ✅
Obsługa starszych menu kontekstowych (rozszerzenia interfejsu powłoki) ❌ Windows 11 tylko ✅
Modyfikowalne katalogi pakietów ❌ Windows 11 tylko ✅
Tożsamość trwała MSIX (przetrwa ponowną instalację) ❌ Windows 11 tylko ✅
Zależności dynamiczne ✅ poprzez interfejsy API dynamicznych zależności Zestaw SDK do aplikacji systemu Windows (Mdd* / bootstrapper) w obsługiwanych wersjach Zestaw SDK do aplikacji systemu Windows; ❌ API natywne dla systemu operacyjnego ✅ za pomocą Zestaw SDK do aplikacji systemu Windows; Interfejs API natywny dla systemu operacyjnego dostępny w Windows 11, wersja 22H2 lub nowsza

Aby uzyskać pełny podział wersji według wersji we wszystkich wersjach Windows 10, zobacz funkcje MSIX i obsługiwane platformy.

funkcje tylko Windows 11

Jeśli aplikacja korzysta z dowolnego z następujących funkcji, nie będzie działać na Windows 10:

Kontenery pakietów udostępnionych

Kontenery pakietów udostępnionych pozwalają wielu spakowanym aplikacjom współdzielić wspólną przestrzeń nazw pakietów, umożliwiając im udostępnianie danych i ustawień. Ta funkcja wymaga Windows 11.

Alternatywa dla Windows 10: Użyj udostępnionej lokalizacji danych Win32 (takiej jak %ProgramData% lub nazwany potok) poza kontenerem MSIX lub zmień strukturę aplikacji jako powiązane pakiety w ramach jednego zestawu.

Obsługa starszych menu kontekstowych

W Windows 11 wprowadzono obsługę rejestrowania spakowanych rozszerzeń powłoki MSIX, które pojawiają się w klasycznym menu kontekstowym (kliknij prawym przyciskiem myszy). Jest to istotne przede wszystkim podczas konwertowania starszych aplikacji klasycznych na MSIX.

Alternatywa dla Windows 10: Użyj Package Support Framework (PSF) lub dostarcz rozszerzenia menu kontekstowego za pomocą osobnego instalatora Win32 na Windows 10.

Modyfikowalne katalogi pakietów

Aplikacje mogą zapisywać do podkatalogu w miejscu instalacji zamiast do zwirtualizowanego kontenera dzięki zmiennym katalogom pakietów. Wymaga Windows 11.

Windows 10 alternative: Write to ApplicationData.Current.LocalFolder (AppData\Local\Packages...\LocalState) lub do lokalizacji poza pakietem.

Tożsamość trwała MSIX

Stała tożsamość MSIX zapewnia, że tożsamość pakietu aplikacji (nazwa rodziny, wydawca itp.) przetrwa odinstalowanie i ponowne zainstalowanie. Bez niego dane w LocalState pliku są usuwane po odinstalowaniu aplikacji. Wymaga Windows 11.

Windows 10 alternatywa: Przechowywanie trwałych danych poza kontenerem pakietu — na przykład w %APPDATA%, %LOCALAPPDATA% (poza folderem Packages) lub w bazie danych w %ProgramData%.

Zależności dynamiczne

Zależności dynamiczne umożliwiają spakowanym aplikacjom pobieranie zależności środowiska uruchomieniowego dla pakietów struktury, które nie są deklarowane w czasie pakowania. Jest to mechanizm, który stanowi podstawę obsługi Zestaw SDK do aplikacji systemu Windows dla niepakowanych aplikacji. Interfejsy API zależności dynamicznej Zestaw SDK do aplikacji systemu Windows (w tym interfejsy API Mdd* i przepływ programu inicjjącego) są obsługiwane zarówno w Windows 10, jak i Windows 11, w których jest obsługiwana Zestaw SDK do aplikacji systemu Windows. Oddzielna implementacja zależności dynamicznej natywnej dla systemu operacyjnego jest również dostępna w Windows 11 w wersji 22H2 lub nowszej.

Wytyczne dla Windows 10: Użyj interfejsów API dynamicznych zależności Zestaw SDK do aplikacji systemu Windows lub programu bootstrapper do obsługi rozwiązywania zależności w Windows 10 — nie są potrzebne obejścia.

zagadnienia specyficzne dla Windows 10

Zasady ładowania bezpośredniego

W systemie Windows 10 wersji 2004 lub nowszej podpisane pakiety MSIX nienależące do Microsoft Store mogą być zwykle instalowane przez dwukrotne kliknięcie bez konieczności oddzielnego włączania sideloadingu. W starszych wersjach Windows 10 (przed wersją 2004), instalacja zewnętrzna musi być włączona za pomocą trybu dewelopera lub AllowAllTrustedApps Zasad grupy (Group Policy).

Wyjątki mają zastosowanie niezależnie od wersji Windows: niepodpisane pakiety wymagają dodatkowej konfiguracji zaufania, a urządzenia zarządzane przez przedsiębiorstwo mogą ograniczać lub wyłączać instalację aplikacji spoza Sklepu za pomocą polityki.

W Windows 11 ładowanie bezpośrednie jest również domyślnie włączone dla standardowych podpisanych pakietów, z zastrzeżeniem tych samych ograniczeń opartych na zasadach.

Ograniczenia funkcji LTSC 2021

Windows 10 LTSC 2021 (kompilacja 19044, równoważna 20H2) nie ma funkcji dodanych w Windows 10 21H1 i nowszych:

Funkcja LTSC 2021 Windows 10 21H1+
Elastyczna wirtualizacja ❌ ✅
Grupy menu Start ❌ ✅

Jeśli wdrożenie w przedsiębiorstwie jest przeznaczone dla wersji LTSC 2021, nie należy polegać na elastycznej wirtualizacji ani spakowanych grupach menu Start.

Nierozwiązane usterki dotyczące Windows 10

Niektóre problemy MSIX zgłoszone w Windows 10 nie zostały przywrócone i prawdopodobnie nie zostaną rozwiązane, biorąc pod uwagę stan zakończenia wsparcia Windows 10. Jeśli wystąpi zachowanie MSIX w Windows 10, które różni się od Windows 11, sprawdź otwarte problemy w repozytorium microsoft/msix-packaging.

Typowe kategorie znanych problemów związanych z Windows 10 obejmują:

  • Przypadki brzegowe wirtualizacji rejestru
  • Niezawodność Instalatora aplikacji z określonymi konfiguracjami sieciowymi
  • Zgodność narzędzia do tworzenia pakietów z niektórymi typami instalatora

Narzędzia do tworzenia pakietów dla obiektów docelowych Windows 10

Jeśli pakujesz aplikacje na potrzeby Windows 10 i napotykasz problemy ze zgodnością narzędzi, kilka narzędzi do tworzenia pakietów społeczności udostępnia dodatkowe obejścia zgodności:

  • MSIX Packaging Tool (Microsoft) — oficjalne narzędzie; aktywnie obsługiwane
  • Advanced Installer — narzędzie komercyjne z silną obsługą Windows 10 MSIX i dobrze zachowaną macierz zgodności
  • Przenośnik — narzędzie społeczności, które automatyzuje pakowanie dla wielu obiektów docelowych, w tym MSIX; przydatne w przypadku wysyłki również w systemie macOS lub Linux

Te narzędzia mogą wygładzić niektóre przypadki brzegowe Windows 10 w procesie kompilacji, chociaż ograniczenia środowiska uruchomieniowego (takie jak brakujące interfejsy API dostępne tylko w Win11) nie mogą być obejściem w ramach tworzenia pakietów.

Zalecenie

Jeśli musisz obsługiwać Windows 10:

  1. Unikaj funkcji dostępnych tylko w Windows 11 — nie używaj kontenerów pakietów udostępnionych, katalogów modyfikowalnych pakietów, trwałej tożsamości lub zależności dynamicznych, jeśli MinVersion jest ustawiony na Windows 10.
  2. Ustaw dokładną wartość MinVersion w elemencie manifestu MSIX TargetDeviceFamily do najstarszej wersji Windows 10, którą zamierzasz obsługiwać.
  3. Testuj specjalnie na Windows 10 — różnice w zachowaniu między Windows 10 a Windows 11 są rzadko wykrywane w potokach ciągłej integracji przeznaczonych wyłącznie dla Windows 11.
  4. Zaplanuj strategię EOL dla Win10 — ponieważ zakończyła się podstawowa obsługa Windows 10, rozważ ustalenie harmonogramu do wymagania Windows 11 w przyszłej wersji aplikacji.