Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om du tar bort ett MSIX-paket för en användare tas inte alltid de mellanlagrade filerna bort omedelbart. Windows hanterar mellanlagrade paket genom att spåra om användare, andra paket eller processer som körs fortfarande refererar till dem.
Använd följande termer när du beskriver paketets livslängd:
- Steg: Placera ett pakets innehåll i ett Windows-hanterat installationslager.
- Registrera: Gör ett förberett paket tillgängligt för en användare och skapa dess användarspecifika integreringar.
- Ta bort eller avregistrera: Ta bort en användares registrering och integreringar.
- Destage: Ta bort den mellanlagrade nyttolasten för paketet från lagringen.
En borttagningsåtgärd kan avregistrera ett paket utan att omedelbart avstaga det.
Starka referenser
Windows kan inte destage ett paket medan en stark referens finns kvar. Vanliga starka referenser är:
- En användares explicita paketregistrering.
- Provisionering som gör paketet tillgängligt för användare.
- Ett statiskt beroende som deklareras via
PackageDependency. - Ett beroende till värdens runtime.
- Ett beständigt dynamiskt beroende som endast paketet kan uppfylla.
- En bearbetning som för närvarande använder paketinnehåll.
- En systemstift.
- UUP-produktmedlemskap (Unified Update Platform).
Framework-paket förblir ofta kvar i staging eftersom andra paket är beroende av dem. Flera Framework-paketversioner kan förbli sida vid sida medan program övergår mellan versioner.
Svaga referenser
En svag referens håller inte självständigt ett paket i etappat läge. Resurspaketrelationer är det primära exemplet. Om endast svaga referenser finns kvar kan Windows ta bort paketet och dess svaga relationer.
Vad händer under borttagningen?
När du tar bort ett paket tar Windows först bort tillämplig användarregistrering och användarspecifika integreringar. Sedan utvärderas om starka referenser kvarstår:
- Om en stark referens finns kvar förblir paketet i mellanlagring.
- Om inga starka referenser finns kvar kan paketet avstegas.
- Windows tar bort payloaden när distributionen utvärderas nästa gång och samlar in det orefererade paketet.
Destaging kan ske när borttagningen har slutförts. Vissa referensändringar sker utanför en driftsättningsåtgärd, så rensning av paketinnehåll är inte alltid omedelbar.
Om en process använder paketet kräver borttagning normalt att programmet avslutas. Undvik att avbryta processen genom att anropa PackageManager.RemovePackageAsync med RemovalOptions.DeferRemovalWhenPackagesAreInUse. Windows slutför borttagningen när paketet inte längre används.
PowerShell-beteende
Remove-AppxPackage tar bort en registrering. Använd inte frånvaron av en användarregistrering som bevis på att Windows redan har tagit bort varje mellanlagrad fil.
Använd Get-AppxPackage -AllUsers och provisioneringskommandon när du diagnostiserar referenser som innehas av andra användare eller av enhetsprovisionering. Att ta bort ett provisionerat paket påverkar framtida registreringar men tar inte bort registreringar som redan finns för användare.