Tabel MsiPatchSequence
Tabel MsiPatchSequence berisi semua informasi yang diperlukan alat penginstal untuk menentukan urutan aplikasi pembaruan kecil patch relatif terhadap semua patch lainnya. Tabel harus berada dalam database file patch dan tidak dalam transformasi dalam patch. Alat penginstal mengabaikan tabel ini saat menerapkan patch peningkatan utama. Saat menerapkan patch peningkatan kecil, alat penginstal hanya menggunakan tabel ini untuk mengidentifikasi patch pengganti yang tidak boleh diurutkan.
Tabel MsiPatchSequence memiliki kolom berikut.
Kolom | Jenis | Kunci | Dapat diubah ke null |
---|---|---|---|
PatchFamily | Pengidentifikasi | Y | N |
Kode Produk | GUID | Y | Y |
Urutan | Versi | N | N |
Atribut | Bilangan Bulat | N | Y |
Kolom
-
PatchFamily
-
Menentukan bahwa patch adalah anggota keluarga patch bernama di bidang ini. Patch dalam keluarga patch yang sama yang menargetkan versi produk yang sama diurutkan berdasarkan nilai di kolom Urutan. Patch dalam keluarga patch diterapkan ke produk target dalam urutan peningkatan. PatchFamily juga digunakan untuk menentukan patch mana yang akan digantikan. Patch dapat tercantum dalam beberapa baris dan termasuk dalam beberapa keluarga patch jika berlaku untuk lebih dari satu produk atau mencakup beberapa perbaikan.
Penginstal Windows tidak menginterpretasikan nilai PatchFamily dengan cara apa pun selain perbandingan untuk kesetaraan terhadap nilai PatchFamily lainnya. Nilai PatchFamily harus unik dalam ProductCode yang ditargetkan oleh serangkaian patch. Dalam skenario patching yang kompleks, pengidentifikasi PatchFamily mungkin perlu unik secara global.
-
ProductCode
-
Nilai di bidang ini bersifat opsional. Jika kode produk GUID dimasukkan di bidang ini dan patch sedang diterapkan ke produk yang ditentukan, patch diurutkan dan diterapkan sebagai anggota PatchFamily yang ditentukan. Jika GUID kode produk dimasukkan di bidang ini dan patch tidak diterapkan ke produk yang ditentukan oleh ProductCode, baris ini diabaikan. Jika nilai dalam ProductCode adalah NULL, patch diurutkan dan diterapkan sebagai anggota PatchFamily untuk semua target patch terlepas dari kode produk.
Patch dapat memiliki beberapa baris dalam PatchFamily yang sama dan ProductCode yang berbeda untuk setiap produk yang ditargetkan oleh patch. Satu baris untuk PatchFamily dapat menentukan NULL untuk ProductCode. Jika produk target cocok dengan baris dengan ProductCode non-NULL, penginstal menggunakan baris yang cocok dan mengabaikan baris dengan ProductCode NULL. Jika tidak ada kode produk yang ditentukan yang cocok dengan target, patch diurutkan dan diterapkan sebagai anggota PatchFamily untuk semua target patch terlepas dari kode produk.
-
Urutan
-
Nilai dalam kolom Urutan menentukan urutan patch ini dalam PatchFamily yang ditentukan. Nilai dalam Urutan dinyatakan dalam format data Versi. Nilai berisi antara 1 dan 4 bidang dan setiap bidang memiliki rentang 0 hingga 65535. Anggota PatchFamily diurutkan dan diterapkan ke produk target dalam urutan peningkatan nilai Urutan. Misalnya, enam nilai berikut meningkat: 1, 1.1, 1.2, 2.01, 2.01.1, 2.01.1.1.
-
Atribut
-
Kehadiran atribut msidbPatchSequenceSupersedeEarlier secara berturut-turut menunjukkan bahwa pembaruan kecil patch menggantikan pembaruan yang disediakan oleh semua patch dengan nilai Urutan yang lebih rendah dalam PatchFamily yang sama. Patch ini berisi semua perbaikan yang disediakan oleh patch sebelumnya dalam PatchFamily yang ditentukan. Atribut ini tidak berarti bahwa patch ini menggantikan patch sebelumnya dalam semua kasus karena patch sebelumnya dapat dimiliki oleh beberapa keluarga patch.
Patch pembaruan kecil tidak dapat menggantikan peningkatan kecil atau patch peningkatan besar dalam keadaan apa pun, bahkan jika msidbPatchSequenceSupersedeEarlier diatur.
Nama Nilai Arti 0x00 Menunjukkan nilai urutan sederhana. msidbPatchSequenceSupersedeEarlier 0x01 Menunjukkan patch yang menggantikan patch sebelumnya dalam keluarga ini.
Validasi
ICE03
ICE06
Topik terkait
-
Tidak Didukung di Windows Installer 2.0 dan yang lebih lama