Fungsi MsiDetermineApplicablePatchesA (msi.h)
Fungsi MsiDetermineApplicablePatches mengambil sekumpulan file patch, file XML, dan blob XML dan menentukan patch mana yang berlaku untuk paket Pemasang Windows tertentu dan dalam urutan apa. Fungsi ini dapat mempertanyakan patch yang digantikan atau usang. Fungsi ini tidak mempertimbangan produk atau patch yang diinstal pada sistem yang tidak ditentukan dalam set.
Sintaks
UINT MsiDetermineApplicablePatchesA(
[in] LPCSTR szProductPackagePath,
[in] DWORD cPatchInfo,
[in] PMSIPATCHSEQUENCEINFOA pPatchInfo
);
Parameter
[in] szProductPackagePath
Jalur lengkap ke file .msi. Fungsi menentukan patch yang berlaku untuk paket ini dan dalam urutan apa.
[in] cPatchInfo
Jumlah patch dalam array. Harus lebih besar dari nol.
[in] pPatchInfo
Penunjuk ke array struktur MSIPATCHSEQUENCEINFO .
Nilai kembali
Fungsi MsiDetermineApplicablePatches mengembalikan nilai berikut.
Nilai | Makna |
---|---|
|
Fungsi gagal dengan cara yang tidak tercakup dalam kode kesalahan lainnya. |
|
Argumen tidak valid. |
|
Tidak ada urutan yang valid yang dapat ditemukan untuk kumpulan patch. |
|
Patch berhasil diurutkan. |
|
File .msi tidak ditemukan. |
|
Jalur ke file .msi tidak ditemukan. |
|
Data patch XML tidak valid. |
|
Paket penginstalan yang direferensikan oleh jalur tidak dapat dibuka. |
|
Kesalahan ini dapat dikembalikan jika fungsi dipanggil dari tindakan kustom atau jika MSXML 3.0 tidak diinstal. |
Keterangan
Jika fungsi ini dipanggil dari tindakan kustom, fungsi gagal dan mengembalikan ERROR_CALL_NOT_IMPLEMENTED. Fungsi ini memerlukan MSXML versi 3.0 untuk memproses XML dan mengembalikan ERROR_CALL_NOT_IMPLEMENTED jika MSXML 3.0 tidak diinstal.
Fungsi MsiDetermineApplicablePatches menetapkan anggota uStatus dan dwOrder dari setiap struktur MSIPATCHSEQUENCEINFO yang ditunjukkan oleh pPatchInfo. Setiap struktur berisi informasi tentang patch tertentu.
Jika fungsi berhasil, struktur MSIPATCHSEQUENCEINFO dari setiap patch yang dapat diterapkan ke produk mengembalikan dengan uStatus ERROR_SUCCESS dan dwOrder lebih besar dari atau sama dengan nol. Nilai dwOrder yang lebih besar dari atau sama dengan nol menunjukkan urutan aplikasi terbaik untuk patch yang dimulai dengan nol.
Jika fungsi berhasil, patch yang dikecualikan dari urutan patching terbaik mengembalikan struktur MSIPATCHSEQUENCEINFO dengan dwOrder yang sama dengan -1. Dalam kasus ini, bidang uStatus ERROR_SUCCESS menunjukkan patch yang usang atau digantikan untuk produk. Bidang uStatus ERROR_PATCH_TARGET_NOT_FOUND menunjukkan patch yang tidak dapat diterapkan ke produk.
Jika fungsi gagal, struktur MSIPATCHSEQUENCEINFO untuk setiap patch mengembalikan dwOrder yang sama dengan -1. Dalam hal ini, bidang uStatus dapat berisi kesalahan dengan informasi selengkapnya tentang patch individual. Misalnya, ERROR_PATCH_NO_SEQUENCE dikembalikan untuk patch yang memiliki informasi urutan melingkar.
Catatan
Header msi.h mendefinisikan MsiDetermineApplicablePatches sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Klien minimum yang didukung | Windows Installer 5.0 di Windows Server 2012, Windows 8, Windows Server 2008 R2 atau Windows 7. Windows Installer 4.0 atau Windows Installer 4.5 di Windows Server 2008 atau Windows Vista. Windows Installer 3.0 atau yang lebih baru pada Windows Server 2003 atau Windows XP. Lihat Persyaratan Run-Time Penginstal Windows untuk informasi tentang paket layanan Windows minimum yang diperlukan oleh versi Pemasang Windows. |
Target Platform | Windows |
Header | msi.h |
Pustaka | Msi.lib |
DLL | Msi.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk