Pembaruan diferensial untuk paket aplikasi MSIX

Memahami pembaruan paket aplikasi MSIX

Saat paket aplikasi MSIX dibuat, file manifes dihasilkan yang berisi detail yang terkait dengan file yang disertakan dalam paket aplikasi MSIX. Selama pembuatan paket, sepotong metadata dibuat dan disimpan dalam paket .msix atau .msixbundle yang memungkinkan bagian paket diidentifikasi secara unik oleh Windows. Nantinya, selama pembaruan, Windows dapat menggunakan file metadata ini untuk membandingkan paket lama dengan paket baru dan menentukan hal-hal yang perlu diunduh ke perangkat. Mengingat metadata ini memungkinkan bagian paket diidentifikasi secara unik, ini berarti mesin pembaruan diferensial berfungsi penuh dari versi paket apa pun ke versi paket lainnya (dengan asumsi paket sumber memiliki versi yang lebih rendah daripada paket target).

Semuanya dimulai pada file AppxBlockMap.xml (metadata yang disebutkan di atas). File AppxBlockMap.xml adalah dokumen XML yang berisi daftar informasi dua dimensi tentang file dalam paket. Dimensi pertama menjabarkan detail tingkat tinggi pada file (misalnya nama dan ukuran) dan dimensi kedua menyediakan representasi hash SHA2-256 dari setiap potonong 64KB file tersebut (alias "blok").

Hash pertama mewakili blok file 64KB pertama dan hash kedua mewakili 35KB yang tersisa - mengingat file 101188 byte.

Selama pembaruan, jika blok kedua file tersebut dimodifikasi, hash juga akan diperbarui untuk mencerminkan fakta ini. Komponen unduhan memahami ini dan hanya akan menarik blok kedua dan menggunakan kembali blok pertama yang tidak berubah dari paket lama.

Selain itu, jika seluruh file tidak berubah (yang ditentukan oleh set lengkap blok yang tidak berubah) maka file tersebut dapat digunakan kembali dari paket yang ada - menghasilkan penghematan yang luar biasa untuk pengguna Windows 10

Memutakhirkan ke versi yang lebih baru

Ketika versi paket aplikasi MSIX yang lebih baru diinstal, file manifes dibandingkan dan blok file yang dimodifikasi diidentifikasi. Karena paket aplikasi MSIX ditingkatkan ke versi yang lebih baru hanya file yang dimodifikasi yang diambil mengurangi konsumsi bandwidth jika aplikasi yang diperbarui berada di berbagi jaringan atau di luar organisasi.

Memutakhirkan ke versi yang lebih lama

Ketika versi lama paket aplikasi MSIX diinstal, file manifes dibandingkan dan blok file yang dimodifikasi diidentifikasi. Karena paket aplikasi MSIX ditingkatkan ke versi yang lebih lama hanya file yang dimodifikasi yang diambil mengurangi konsumsi bandwidth jika aplikasi yang diperbarui berada di berbagi jaringan atau eksternal ke organisasi.

Mengoptimalkan pengalaman peningkatan

Pengiriman atau penginstalan paket aplikasi MSIX ke perangkat dapat dikonfigurasi untuk meningkatkan pengalaman pengguna. Saat aplikasi disebarkan, perangkat dapat dikonfigurasi untuk memperbarui aplikasi setelah pengguna menutup aplikasi , atau memaksa aplikasi ditutup dan memperbarui aplikasi secara paksa.

PowerShell

Menginstal paket aplikasi MSIX ke perangkat menggunakan PowerShell memanfaatkan cmdlet add-appxpackage . Cmdlet ini berisi parameter berikut yang mengubah penginstalan paket aplikasi MSIX atau pengalaman pengguna peningkatan.

Parameter Deskripsi
-DeferRegistrationWhenPackagesAreInUse Menunjukkan bahwa cmdlet ini akan mencegah paket aplikasi MSIX diperbarui saat pengguna saat ini membuka aplikasi.
-ForceApplicationShutdown Menunjukkan bahwa cmdlet ini memaksa semua proses aktif yang terkait dengan paket atau dependensinya untuk dimatikan
-ForceUpdateFromAnyVersion Menunjukkan bahwa paket aplikasi MSIX akan memaksa versi tertentu dari paket untuk ditahapkan/didaftarkan, terlepas dari apakah versi yang lebih tinggi sudah ditahapkan/didaftarkan.
-InstallAllResources Menunjukkan bahwa cmdlet memaksa penyebaran semua paket sumber daya yang ditentukan dari argumen bundel. Ini mengambil alih pemeriksaan penerapan sumber daya dari mesin penyebaran dan memaksa penahapan semua paket sumber daya.
-RetainFilesOnFailure Dalam kasus penyebaran yang gagal, jika sakelar ini diatur ke True, file yang telah dibuat pada komputer target selama proses penginstalan tidak dihapus.
-Update Menentukan bahwa paket yang ditambahkan adalah pembaruan paket dependensi. Paket dependensi dihapus saat aplikasi induk dihapus. Jika tidak ditentukan, paket tidak akan dihapus saat aplikasi induk dihapus.

Untuk daftar lengkap parameter yang tersedia untuk cmdlet ini, silakan kunjungi artikel PowerShell tentang add-appxpackage.