Bagikan melalui


Fungsi MsiOpenPackageExA (msi.h)

Fungsi MsiOpenPackageEx membuka paket untuk digunakan dengan fungsi yang mengakses database produk. Fungsi MsiCloseHandle harus dipanggil dengan handel ketika handel tidak lagi diperlukan.

Catatan Inisialisasi COM pada utas yang sama sebelum memanggil fungsi MsiOpenPackage, MsiOpenPackageEx, atau MsiOpenProduct .

 

Sintaks

UINT MsiOpenPackageExA(
  [in]  LPCSTR    szPackagePath,
  [in]  DWORD     dwOptions,
  [out] MSIHANDLE *hProduct
);

Parameter

[in] szPackagePath

Jalur ke paket.

[in] dwOptions

Bendera bit untuk menunjukkan apakah akan mengabaikan status komputer atau tidak. Teruskan dalam 0 (nol) untuk menggunakan perilaku MsiOpenPackage .

Terus-menerus Makna
MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE
1
Abaikan status komputer saat membuat handel produk.

[out] hProduct

Penunjuk ke variabel yang menerima handel produk.

Mengembalikan nilai

Nilai Makna
ERROR_BAD_CONFIGURATION
Informasi konfigurasi rusak.
ERROR_INSTALL_FAILURE
Produk tidak dapat dibuka.
ERROR_INSTALL_REMOTE_PROHIBITED
Pemasang Windows tidak mengizinkan penginstalan dari sambungan desktop jarak jauh.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi.
ERROR_SUCCESS
Fungsi berhasil diselesaikan.
 

Jika fungsi ini gagal, fungsi ini dapat mengembalikan kode kesalahan sistem. Untuk informasi selengkapnya, lihat Kode Kesalahan Sistem.

Keterangan

Untuk membuat handel produk terbatas yang independen dari status komputer saat ini dan tidak mampu mengubah status komputer saat ini, gunakan MsiOpenPackageEx dengan MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE diatur dalam dwOptions.

Perhatikan bahwa jika dwOptions MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE atau 1, MsiOpenPackageEx mengabaikan status komputer saat ini saat membuat handel produk. Jika nilai dwOptions adalah 0, MsiOpenPackageEx sama dengan MsiOpenPackage dan membuat handel produk yang bergantung pada apakah paket yang ditentukan oleh szPackagePath sudah diinstal di komputer.

Handel terbatas yang dibuat dengan menggunakan MsiOpenPackageEx dengan MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE hanya mengizinkan eksekusi dialog, subset tindakan standar, dan tindakan kustom yang mengatur properti ( Tindakan Kustom Tipe 35, Tindakan Kustom Tipe 51, dan Tindakan Kustom Tipe 19). Handel terbatas mencegah penggunaan tindakan kustom yang menjalankan Pustaka Dynamic-Link, File yang Dapat Dieksekusi , atau Skrip.

Anda dapat memanggil MsiDoAction pada tindakan standar berikut menggunakan handel terbatas. Semua tindakan lain mengembalikan ERROR_FUNCTION_NOT_CALLED jika dipanggil dengan handel terbatas.

Fungsi MsiCloseHandle harus dipanggil ketika handel tidak diperlukan.

Catatan

Header msi.h mendefinisikan MsiOpenPackageEx 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. Pemasang Windows 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