Bagikan melalui


Fungsi MsiApplyPatchA (msi.h)

Untuk setiap produk yang tercantum oleh paket patch sebagai memenuhi syarat untuk menerima patch, fungsi MsiApplyPatch memanggil penginstalan dan mengatur properti PATCH ke jalur paket patch.

Sintaks

UINT MsiApplyPatchA(
  [in] LPCSTR      szPatchPackage,
  [in] LPCSTR      szInstallPackage,
  [in] INSTALLTYPE eInstallType,
  [in] LPCSTR      szCommandLine
);

Parameter

[in] szPatchPackage

String yang dihentikan null yang menentukan jalur lengkap ke paket patch.

[in] szInstallPackage

Jika eInstallType diatur ke INSTALLTYPE_NETWORK_IMAGE, parameter ini adalah string null-terminated yang menentukan jalur ke produk yang akan di-patch. Alat penginstal menerapkan patch ke setiap produk yang memenuhi syarat yang tercantum dalam paket patch jika szInstallPackage diatur ke null dan eInstallType diatur ke INSTALLTYPE_DEFAULT.

Jika eInstallType INSTALLTYPE_SINGLE_INSTANCE, penginstal menerapkan patch ke produk yang ditentukan oleh szInstallPackage. Dalam hal ini, produk lain yang memenuhi syarat yang tercantum dalam paket patch diabaikan dan parameter szInstallPackage berisi string null-terminated yang mewakili kode produk instans untuk patch. Jenis penginstalan ini memerlukan alat penginstal yang menjalankan Windows Server 2003 atau Windows XP.

[in] eInstallType

Parameter ini menentukan jenis penginstalan yang akan di-patch.

Jenis penginstalan Makna
INSTALLTYPE_NETWORK_IMAGE
Menentukan penginstalan administratif. Dalam hal ini, szInstallPackage harus diatur ke jalur paket. Nilai 1 untuk INSTALLTYPE_NETWORK_IMAGE menetapkan ini untuk penginstalan administratif.
INSTALLTYPE_DEFAULT
Mencari sistem untuk produk yang akan ditambal. Dalam hal ini, szInstallPackage harus 0.
INSTALLTYPE_SINGLE_INSTANCE
Patch produk yang ditentukan oleh szInstallPackage. szInstallPackage adalah kode produk instans untuk patch. Jenis penginstalan ini memerlukan alat penginstal yang menjalankan Windows Server 2003 atau Windows XP dengan SP1. Untuk informasi selengkapnya lihat, Menginstal Beberapa Instans Produk dan Patch.

[in] szCommandLine

String yang dihentikan null yang menentukan pengaturan properti baris perintah. Lihat Tentang Properti dan Mengatur Nilai Properti Publik di Baris Perintah. Lihat bagian Keterangan.

Mengembalikan nilai

Nilai Makna
ERROR_SUCCESS
Fungsi berhasil diselesaikan.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Paket patch tidak dapat dibuka.
ERROR_PATCH_PACKAGE_INVALID
Paket patch tidak valid.
ERROR_PATCH_PACKAGE_UNSUPPORTED
Paket patch tidak didukung.
Kesalahan yang berkaitan dengan tindakan
Lihat Kode Kesalahan.
Kesalahan Inisialisasi
Terjadi kesalahan inisialisasi.

Keterangan

Karena pemisah daftar untuk transformasi, sumber, dan patch adalah titik koma, karakter ini tidak boleh digunakan untuk nama atau jalur file.

Catatan  

Anda harus mengatur properti INSTAL ULANG pada baris perintah saat menerapkan pembaruan kecil atau patch peningkatan kecil . Tanpa properti ini, patch terdaftar pada sistem tetapi tidak dapat memperbarui file. Untuk patch yang tidak menggunakan Custom Action Type 51 untuk secara otomatis mengatur properti REINSTALL dan REINSTALLMODE , properti REINSTALL harus diatur secara eksplisit dengan parameter szCommandLine . Atur properti INSTAL ULANG untuk mencantumkan fitur yang terpengaruh oleh patch, atau gunakan pengaturan default praktis "REINSTALL=ALL". Nilai default properti REINSTALLMODE adalah "omus". Dimulai dengan Penginstal Windows versi 3.0, properti INSTAL ULANG dikonfigurasi oleh alat penginstal dan tidak perlu diatur pada baris perintah.

 

Catatan

Header msi.h mendefinisikan MsiApplyPatch sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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

Persyaratan Nilai
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 pada Windows Server 2003 atau Windows XP. Lihat Persyaratan Run-Time Penginstal Windows untuk informasi tentang paket layanan Windows minimum yang diperlukan oleh versi Penginstal Windows.
Target Platform Windows
Header msi.h
Pustaka Msi.lib
DLL Msi.dll

Lihat juga

Kode Kesalahan

Kesalahan Inisialisasi

Penginstalan Beberapa Paket

Tidak Didukung di Windows Installer 2.0 dan yang lebih lama