Bagikan melalui


Patch Urutan

Dimulai dengan Pemasang Windows 3.0, penulis dapat menambahkan informasi pengurutan patch ke database paket patch dalam tabel MsiPatchSequence . Alat penginstal dapat menggunakan informasi ini untuk menentukan patch mana yang berlaku untuk paket penginstalan, untuk menentukan urutan patching terbaik, dan untuk menginstal patch dalam urutan konstan independen dari urutan yang disediakan untuk sistem.

Windows Installer 2.0: Tidak didukung. Versi Pemasang Windows sebelumnya untuk Windows Installer 3.0 menginstal patch dalam urutan yang disediakan untuk sistem terlepas dari apakah mereka berisi tabel MsiPatchSequence .

Berikut ini diperlukan untuk menggunakan fungsionalitas pengurutan patch.

  • Paket patch (file.msp) harus memiliki tabel MsiPatchSequence yang berisi informasi pengurutan. Alat penginstal menginstal patch yang tidak memiliki tabel MsiPatchSequence dalam urutan yang disediakan untuk sistem.
  • Patch diinstal menggunakan Pemasang Windows 3.0 atau yang lebih baru.

Pemasang Windows versi 3.0 memiliki fungsi berikut yang dapat digunakan aplikasi untuk menentukan urutan patching terbaik.

  • Fungsi MsiDeterminePatchSequence mengambil daftar patch dan menentukan urutan apa yang dapat diterapkan ke produk yang diinstal. Fungsi ini menyumbang patch atau produk apa pun yang telah diinstal pada sistem.
  • Fungsi MsiDetermineApplicablePatches mengambil daftar patch dan menentukan dalam urutan apa mereka dapat diterapkan ke produk yang diinstal. Fungsi ini tidak memperkirakan patch atau produk apa pun yang telah diinstal pada sistem.

Penginstal Windows versi 3.0 dapat menerapkan beberapa patch ke produk dalam satu penginstalan patching. Grup patch dapat berisi patch yang mencakup informasi urutan patching (tabel MsiPatchSequence ) dan patch yang tidak. Pemasang Windows menginstal paket patch tanpa tabel ini dalam urutan yang disediakan untuk sistem. Alat penginstal mempertanggungjawabkan paket patch yang tidak memiliki tabel MsiPatchSequence, tetapi yang telah ditandai sebagai patch usang atau digantikan dengan metode yang dijelaskan di bagian berikut.

Ketika Windows Installer versi 3.0 menginstal beberapa patch, ia mengikuti langkah-langkah ini untuk menentukan urutan di mana masing-masing patch diterapkan ke produk:

  1. Patch yang diinstal tanpa tabel MsiPatchSequence dimasukkan ke dalam urutan dalam urutan yang diterapkan ke produk. Patch pertama yang diterapkan ditempatkan terlebih dahulu secara berurutan.

  2. Patch baru tanpa tabel MsiPatchSequence dimasukkan ke dalam urutan. Patch ini sedang diterapkan oleh penginstalan patching saat ini. Mereka dimasukkan ke dalam urutan yang disediakan untuk sistem, dan ditempatkan setelah semua patch di langkah 1.

  3. Patch usang dihilangkan dari urutan patch.

    Catatan

    Paket patch dapat menentukan dalam properti Ringkasan Nomor Revisi daftar eksplisit patch usang yang akan dihapus oleh patch. Daftar ini ditujukan untuk digunakan oleh versi Pemasang Windows yang lebih lama dari versi 3.0. Pemasang Windows versi 3.0 menghapus patch yang ditandai sebagai usang dari urutan, hanya jika patch tidak memiliki tabel MsiPatchSequence.

     

  4. Alat penginstal menelusuri urutan patching dan menentukan patch mana yang berlaku dalam urutan yang diberikan. Ketika beberapa patch diterapkan ke produk, setiap patch dalam urutan juga mengubah database penginstalan produk (file .msi). Patch berlaku dalam urutan tertentu hanya jika transformasi databasenya mampu mengambil kode produk, versi, bahasa, dan kode peningkatan yang dihasilkan dari penerapan transformasi semua paket patch sebelumnya ke database produk. Alat penginstal menghilangkan patch yang tidak dapat diaplikasikan dari urutan.

  5. Alat penginstal mulai menempatkan patch yang memiliki informasi urutan dalam tabel MsiPatchSequence mereka. Patch peningkatan kecil yang memiliki tabel MsiPatchSequence ditempatkan dalam urutan setelah patch yang diurutkan dalam langkah-langkah sebelumnya dan dalam urutan versi produk terendah hingga tertinggi setelah ditingkatkan. Pemasang Windows kemudian menghilangkan patch pemutakhiran kecil yang tidak dapat diaplikasikan dalam urutan ini.

  6. Patch pembaruan kecil yang menargetkan peningkatan kecil yang memiliki tabel MsiPatchSequence , ditetapkan ke versi tertinggi patch peningkatan minor dalam urutan.

  7. Semua patch pembaruan kecil yang tetap tidak ditetapkan setelah langkah-langkah sebelumnya, dan yang memiliki tabel MsiPatchSequence , dimasukkan ke dalam urutan sebelum peningkatan kecil pertama yang memiliki tabel MsiPatchSequence, dan setelah database penginstalan .msi dan patch apa pun tanpa tabel MsiPatchSequence. Pemasang Windows kemudian menghilangkan patch pembaruan kecil yang tidak dapat diaplikasikan dalam urutan ini.

  8. Windows Installer versi 3.0 menghilangkan patch yang digantikan dari urutan. Ketika patch menggantikan patch yang terjadi sebelumnya dalam urutan patch, patch berisi semua perbaikan di patch sebelumnya. Patch sebelumnya tidak lagi diperlukan. Pemasang Windows memerlukan informasi dalam tabel MsiPatchSequence untuk menghilangkan patch pengganti.

    Catatan

    Patch yang dimaksudkan untuk menggantikan serangkaian patch sebelumnya harus ditulis untuk menggantikan patch sebelumnya di semua keluarga patch. Patch pembaruan kecil hanya dapat menggantikan pembaruan kecil. Peningkatan kecil dapat menggantikan pembaruan kecil dan peningkatan kecil lainnya.

     

  9. Patch pembaruan kecil yang membawa tabel MsiPatchSequence , diurutkan dalam versi produk sesuai dengan informasi pengurutan dalam tabel MsiPatchSequence mereka. Ini menentukan urutan patching akhir.

Patch yang seharusnya tidak lagi digunakan dapat dihilangkan dari urutan patching. Untuk informasi selengkapnya tentang cara menghilangkan patch dari urutan patching, lihat Menghilangkan Patch.

Untuk contoh bagaimana tabel MsiPatchSequence dapat digunakan untuk menerapkan patch dalam urutan penulisannya, lihat Contoh Beberapa Patching.