Bagikan melalui


Mengurangi Ukuran Patch

Dimulai dengan Pemasang Windows versi 3.0, penulis patch dapat menggunakan garis besar produk yang di-cache oleh alat penginstal untuk lebih mudah melayani aplikasi dengan patch delta yang lebih kecil. Dalam banyak kasus, patch delta yang memberikan informasi layanan ke aplikasi dapat secara signifikan lebih kecil dari patch file lengkap atau paket penginstalan yang memberikan informasi yang sama.

Windows Installer 2.0: Tidak didukung. Dimulai dengan Pemasang Windows 3.0, alat penginstal secara selektif menyimpan informasi dasar tentang file saat diperbarui.

Pemasang Windows menyediakan tiga metode untuk memperbarui dan melayani aplikasi: pembaruan kecil, peningkatan kecil, dan peningkatan besar. Pembaruan kecil juga disebut sebagai pembaruan rekayasa perbaikan cepat (QFE), dan peningkatan kecil juga disebut sebagai pembaruan paket layanan (SP). Peningkatan besar yang khas menghapus aplikasi sebelumnya dan menginstal aplikasi baru. Pemasang Windows dapat memberikan informasi layanan ke aplikasi sebagai paket penginstalan (file .msi) atau sebagai paket patch (file.msp).

Paket patch Pemasang Windows yang memberikan informasi layanan untuk pembaruan kecil atau peningkatan kecil umumnya jauh lebih kecil daripada paket penginstalan yang setara yang memberikan informasi layanan yang sama. Disarankan agar paket patch digunakan untuk distribusi peningkatan kecil dan kecil. Disarankan agar paket penginstalan digunakan untuk distribusi peningkatan besar.

Patch Pemasang Windows (file.msp) dapat dihasilkan dari file lengkap atau dari perbedaan file (juga disebut delta file.) Patch Pemasang Windows yang dihasilkan dari delta file bisa jauh lebih kecil dari patch file lengkap yang setara. Semua versi Pemasang Windows dapat menggunakan patch file lengkap atau patch delta.

Dimulai dengan Pemasang Windows versi 3.0, alat penginstal secara selektif menyimpan informasi dasar tentang file saat diperbarui. Informasi tentang aplikasi dasar asli (versi RTM) dan peningkatan minor terbaru (paket layanan) disimpan di lokasi privat ketika aplikasi diinstal atau menerima peningkatan kecil.

Alat penginstal melakukan hal berikut untuk meminimalkan ukuran cache garis besar:

  • Tidak lebih dari dua garis besar dipertahankan untuk setiap aplikasi: garis besar file seperti yang awalnya dirilis (RTM) dan garis besar file pada peningkatan minor terbaru (paket layanan.)
  • File tidak ditambahkan ke cache hingga di-patch. Cache dasar adalah copy-on-write.
  • Jika aplikasi belum pernah diperbarui, tidak ada file di cache dasar.
  • Ketika layanan terakhir aplikasi adalah peningkatan kecil (paket layanan) aplikasi berada pada tingkat dasar dan paling banyak dua salinan file dapat ada di komputer. Satu salinan file ada di direktori target penginstalan. Salinan lainnya dapat berada di cache garis besar RTM.
  • Ketika layanan terakhir aplikasi adalah pembaruan kecil (QFE) aplikasi tidak berada pada tingkat dasar dan paling banyak tiga salinan file dapat ada di komputer. Salinan pertama file berada di direktori target penginstalan. Salinan kedua file berada di cache garis besar RTM. Salinan terakhir file berada di cache dasar terbaru.
  • Cache garis besar aplikasi dihapus saat produk dihapus instalasinya.

Dimulai dengan Penginstal Windows versi 3.0, penginstal dapat menggunakan cache dasar saat patch diterapkan ke aplikasi. Informasi garis besar dapat digunakan untuk menerapkan patch delta atau untuk mengembalikan file ke versi sebelumnya selama penghapusan instalasi patch. Ini dapat memungkinkan penulis patch untuk mendapatkan manfaat dari patch delta yang lebih kecil. Jika alat penginstal menemukan bahwa patch delta tidak dapat diterapkan ke file target, alat penginstal dapat mencoba menggunakan file yang disimpan di cache garis besar sebagai titik awal. Alat penginstal hanya menggunakan sumber penginstalan asli setelah mencoba semua kemungkinan di cache.

Kepatuhan terhadap panduan berikut dapat membantu penulis patch menggunakan patch Windows Installer versi 3.0 dan cache dasar untuk membuat patch delta yang lebih kecil:

  • Patch penulis yang menyertakan tabel MsiPatchSequence. Tabel ini diperlukan untuk menggunakan cache dasar dan tersedia dimulai dengan Pemasang Windows versi 3.0.
  • Jangan tetapkan kebijakan yang mencegah penembolokan dasar. Nilai kebijakan MaxPatchCacheSize menentukan persentase maksimum ruang disk yang dapat digunakan. Jika kebijakan MaxPatchCacheSize diatur ke 0, tidak ada file tambahan yang disimpan di cache dasar. Jika kebijakan tidak ditetapkan, defaultnya adalah maksimum 10% dari ruang disk dapat digunakan. Jika ukuran total cache mencapai persentase maksimum ruang disk, tidak ada file tambahan yang disimpan. Kebijakan ini tidak memengaruhi file yang telah disimpan. Bahkan ketika penembolokan dinonaktifkan, alat penginstal dapat menggunakan cache garis besar produk yang ada.
  • Jika patch pertama yang diterapkan menyertakan tabel MsiPatchSequence, penembolokan diaktifkan untuk aplikasi.
  • Jika ada patch dalam transaksi layanan yang tidak menyertakan tabel MsiPatchSequence, penembolokan diaktifkan untuk aplikasi hanya jika patch peningkatan kecil (paket layanan) yang menyertakan tabel MsiPatchSequence berhasil diterapkan ke produk.
  • Hasilkan paket patch menggunakan alat pembuatan patch seperti Msimsp.exe dan PATCHWIZ.DLL.
  • Selalu targetkan patch untuk versi RTM aplikasi atau versi peningkatan kecil (paket layanan) aplikasi. Target yang ditentukan dalam tabel TargetImages dari file Patch Creation Properties (PCP) harus menjadi titik pemeriksaan produk yang ditentukan oleh tiga bidang pertama properti ProductVersion .
  • Jangan pernah menargetkan patch pada gambar pembaruan kecil. Target untuk membangun patch tidak boleh menyertakan gambar peningkatan pembaruan kecil sebelumnya.