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.

Sintaksis

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

Parameter

[in] szPatchPackage

String null-terminated 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, alat 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 Arti
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 untuk di-patch. Dalam hal ini, szInstallPackage harus 0.
INSTALLTYPE_SINGLE_INSTANCE
Patch produk yang ditentukan oleh szInstallPackage. szInstallPackage adalah kode produk instans untuk di-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 pada Baris Perintah. Lihat bagian Komentar.

Mengembalikan nilai

Nilai Arti
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.

Komentar

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 REINSTALL 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 Tindakan Kustom Tipe 51 untuk secara otomatis mengatur properti REINSTALL dan REINSTALLMODE, properti REINSTALL harus diatur secara eksplisit dengan parameter szCommandLine. Atur properti REINSTALL untuk mencantumkan fitur yang terpengaruh oleh patch, atau gunakan pengaturan default praktis "REINSTALL=ALL". Nilai default properti REINSTALLMODE adalah "omus". Dimulai dengan Windows Installer versi 3.0, properti REINSTALL dikonfigurasi oleh alat penginstal dan tidak perlu diatur pada baris perintah.

 

Nota

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

Syarat 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 pada 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.
Platform Target Windows
Header msi.h
Pustaka Msi.lib
DLL Msi.dll

Lihat juga

Kode Kesalahan

Kesalahan Inisialisasi

Penginstalan Multiple-Package

Tidak Didukung di Windows Installer 2.0 dan yang lebih lama