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.
Usunięcie pakietu MSIX dla użytkownika nie zawsze powoduje natychmiastowe usunięcie plików przemieszczonych do magazynu. Windows zarządza pakietami przejściowymi, śledząc, czy użytkownicy, inne pakiety lub uruchomione procesy nadal się do nich odwołują.
Podczas opisywania cyklu życia pakietu użyj następujących terminów:
- Etap: Umieść zawartość pakietu w repozytorium instalacyjnym zarządzanym przez Windows.
- Zarejestruj: udostępnij użytkownikowi pakiet przejściowy i utwórz jego integracje specyficzne dla użytkownika.
- Usuń lub wyrejestruj: Usuń rejestrację i integracje użytkownika.
- Destage: Usuń ładunek przygotowanego pakietu z pamięci masowej.
Operacja usuwania może wyrejestrować pakiet bez jego natychmiastowego wycofywania z etapu przechowywania.
Silne referencje
System Windows nie może usunąć pakietu, dopóki istnieje silne odwołanie. Typowe wiarygodne referencje obejmują:
- Wyraźna rejestracja pakietu użytkownika.
- Udostępnianie pakietu użytkownikom.
- Zależność statyczna zadeklarowana za pomocą
PackageDependency. - Zależność środowiska uruchomieniowego hosta.
- Utrwalona zależność dynamiczna, którą może zaspokoić tylko pakiet.
- Proces, który obecnie korzysta z zawartości pakietu.
- Systemowy kod PIN.
- Przynależność produktu Unified Update Platform (UUP).
Pakiety frameworka często pozostają w stanie przejściowym, ponieważ inne pakiety zależą od nich. Wiele wersji pakietu Framework może pozostać obok siebie, podczas gdy aplikacje przechodzą między wersjami.
Słabe odwołania
Słabe odwołanie nie zachowuje pakietu w stanie przejściowym niezależnie. Relacje między zasobami a pakietami są podstawowym przykładem. Jeśli pozostają tylko słabe odwołania, Windows może usunąć pakiet i jego słabe zależności.
Co się stanie podczas usuwania
Po usunięciu pakietu Windows najpierw usuwa odpowiednią rejestrację użytkownika i integracje specyficzne dla użytkownika. Następnie ocenia, czy pozostają mocne referencje:
- Jeśli pozostanie silne odwołanie, pakiet pozostanie w obszarze przejściowym.
- Jeśli żadne silne odwołania nie pozostaną, pakiet będzie kwalifikował się do destagowania.
- Windows usuwa payload podczas następnej oceny wdrożenia i usuwa pakiet bez odwołań.
Destaging może wystąpić po zakończeniu operacji usuwania. Niektóre zmiany odwołania występują poza operacją wdrażania, więc czyszczenie payloadu nie zawsze jest natychmiastowe.
Jeśli proces używa pakietu, usunięcie zwykle wymaga zamknięcia aplikacji. Aby uniknąć przerwania procesu, wywołaj metodę PackageManager.RemovePackageAsync za pomocą polecenia RemovalOptions.DeferRemovalWhenPackagesAreInUse. Windows kończy usuwanie po tym, jak pakiet nie jest już używany.
Zachowanie programu PowerShell
Remove-AppxPackage usuwa rejestrację. Nie używaj braku rejestracji użytkownika jako dowodu, że Windows już usunął każdy plik przejściowy.
Użyj poleceń Get-AppxPackage -AllUsers i aprowizacji podczas diagnozowania odniesień przechowywanych przez innych użytkowników lub przez aprowizację urządzeń. Usunięcie pakietu aprowizacji ma wpływ na przyszłe rejestracje, ale nie powoduje usunięcia rejestracji, które już istnieją dla użytkowników.