Paket kaydı ve geçerlilik süresi

Bir kullanıcı için MSIX paketinin kaldırılması, hazırlanmış dosyalarını her zaman hemen silmez. Windows, kullanıcıların, diğer paketlerin veya çalışan işlemlerin bunlara hala başvurup başvurmadığını izleyerek hazırlanmış paketleri yönetir.

Paket ömrünü açıklarken aşağıdaki terimleri kullanın:

  • Aşama: Paketin içeriğini Windows tarafından yönetilen bir yükleme deposuna yerleştirin.
  • Kaydedin: Hazırlanmış bir paketi kullanıcının kullanımına açın ve kullanıcıya özgü tümleştirmelerini oluşturun.
  • Kaldır veya kaydını sil: Kullanıcının kaydını ve tümleştirmelerini kaldırın.
  • Geçici alandan kaldır: Geçici alana alınmış paket yükünü depolama alanından silin.

Bir kaldırma işlemi, bir paketi hemen aşamadan çıkarmadan kayıttan çıkarabilir.

Güçlü referanslar

Güçlü bir referans varken Windows bir paketi hazırlama aşamasından çıkaramaz. Yaygın güçlü referanslar şunlardır:

  • Kullanıcının açıkça yapılan paket kaydı.
  • Paketi kullanıcıların kullanımına sunan temin işlemi.
  • PackageDependency aracılığıyla bildirilen statik bağımlılık.
  • Ana bilgisayar çalışma zamanı bağımlılığı.
  • Yalnızca paketin karşılayabileceği kalıcı dinamik bağımlılık.
  • Şu anda paket içeriğini kullanan bir işlem var.
  • Sistem PIN’i.
  • Birleşik Güncelleştirme Platformu (UUP) ürün kaydı.

Diğer paketler bunlara bağlı olduğundan çerçeve paketleri genellikle aşamalı durumda kalır. Uygulamalar sürümler arasında geçiş yaparken birden çok Framework paketi sürümü yan yana kalabilir.

Zayıf referanslar

zayıf başvuru, bir paketin aşamalandırılmış olarak tutulmasını bağımsız olarak sağlamaz. Kaynak paketi ilişkileri başlıca örnektir. Yalnızca zayıf referanslar kalırsa, Windows paketi ve zayıf ilişkilerini kaldırabilir.

Kaldırma sırasında ne olur?

Bir paketi kaldırdığınızda, Windows önce ilgili kullanıcı kaydını ve kullanıcıya özgü tümleştirmeleri kaldırır. Daha sonra güçlü referansların kalıp kalmadığını değerlendirir:

  1. Güçlü bir referans kalırsa paket aşamalandırılmış olarak kalır.
  2. Güçlü referans kalmazsa paket, diskten çıkarmaya uygun hale gelir.
  3. Windows, dağıtım bir sonraki değerlendirmede başvurulmayan paketi topladığında yük paketini kaldırır.

Sahneden çıkarma, kaldırma işlemi tamamlandıktan sonra gerçekleşebilir. Bazı referans değişiklikleri dağıtım işleminin dışında gerçekleştiği için payload temizleme her zaman anında gerçekleşmez.

Bir işlem paketi kullanıyorsa kaldırma işlemi normalde uygulamanın kapatılmasını istemektedir. İşlemi kesintiye uğratmamak için PackageManager.RemovePackageAsync öğesini RemovalOptions.DeferRemovalWhenPackagesAreInUse ile çağırın. Windows, paket artık kullanılmadıktan sonra kaldırma işlemini tamamlar.

PowerShell davranışı

Remove-AppxPackage bir kaydı kaldırır. Kullanıcı kaydının olmamasını, Windows'un hazırlık dosyalarının tümünü zaten sildiğinin kanıtı olarak kullanmayın.

Diğer kullanıcılar veya cihaz sağlama tarafından tutulan başvuruları tanılamak için Get-AppxPackage -AllUsers ve sağlama komutlarını kullanın. Önceden sağlanan bir paketin kaldırılması gelecekteki kayıtları etkiler, ancak kullanıcılar için zaten var olan kayıtları kaldırmaz.