Bagikan melalui


Fungsi MsiOpenPackageExW (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.

 

Sintaksis

UINT MsiOpenPackageExW(
  [in]  LPCWSTR   szPackagePath,
  [in]  DWORD     dwOptions,
  [out] MSIHANDLE *hProduct
);

Parameter

[in] szPackagePath

Jalur ke paket.

[in] dwOptions

Bit bendera untuk menunjukkan apakah akan mengabaikan status komputer atau tidak. Teruskan 0 (nol) untuk menggunakan perilaku MsiOpenPackage.

Konstan Arti
MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE
1
Abaikan status komputer saat membuat handel produk.

[out] hProduct

Penunjuk ke variabel yang menerima handel produk.

Mengembalikan nilai

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

Komentar

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 Dapat Dijalankan 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.

Nota

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