Fungsi MsiGetProductInfoA (msi.h)

Fungsi MsiGetProductInfo mengembalikan informasi produk untuk produk yang diterbitkan dan diinstal.

Sintaks

UINT MsiGetProductInfoA(
  [in]      LPCSTR  szProduct,
  [in]      LPCSTR  szAttribute,
  [out]     LPSTR   lpValueBuf,
  [in, out] LPDWORD pcchValueBuf
);

Parameter

[in] szProduct

Menentukan kode produk untuk produk.

[in] szAttribute

Menentukan properti yang akan diambil.

Properti yang Diperlukan dijamin tersedia, tetapi properti lain hanya tersedia jika properti tersebut diatur. Untuk informasi selengkapnya, lihat Properti. Properti dalam daftar berikut ini hanya dapat diambil dari aplikasi yang diinstal.

Properti Makna
INSTALLPROPERTY_HELPLINK
Tautan dukungan. Untuk informasi selengkapnya, lihat properti ARPHELPLINK .
INSTALLPROPERTY_HELPTELEPHONE
Telepon dukungan. Untuk informasi selengkapnya, lihat properti ARPHELPTELEPHONE .
INSTALLPROPERTY_INSTALLDATE
Terakhir kali produk ini menerima layanan. Nilai properti ini diganti setiap kali patch diterapkan atau dihapus dari produk atau Opsi Baris Perintah /v digunakan untuk memperbaiki produk. Jika produk tidak menerima perbaikan atau patch properti ini berisi waktu produk ini diinstal pada komputer ini.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Bahasa terinstal.

Pemasang Windows 4.5 dan yang lebih lama: Tidak didukung.

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
Nama produk yang diinstal. Untuk informasi selengkapnya, lihat properti ProductName .
INSTALLPROPERTY_INSTALLLOCATION
Lokasi penginstalan. Untuk informasi selengkapnya, lihat properti ARPINSTALLLOCATION .
INSTALLPROPERTY_INSTALLSOURCE
Sumber penginstalan. Untuk informasi selengkapnya, lihat properti SourceDir .
INSTALLPROPERTY_LOCALPACKAGE
Paket cache lokal.
INSTALLPROPERTY_PUBLISHER
Penerbit. Untuk informasi selengkapnya, lihat properti Produsen .
INSTALLPROPERTY_URLINFOABOUT
Informasi URL. Untuk informasi selengkapnya, lihat properti ARPURLINFOABOUT .
INSTALLPROPERTY_URLUPDATEINFO
Informasi pembaruan URL. Untuk informasi selengkapnya, lihat properti ARPURLUPDATEINFO .
INSTALLPROPERTY_VERSIONMINOR
Versi produk minor yang berasal dari properti ProductVersion .
INSTALLPROPERTY_VERSIONMAJOR
Versi produk utama yang berasal dari properti ProductVersion .
INSTALLPROPERTY_VERSIONSTRING
Versi produk. Untuk informasi selengkapnya, lihat properti ProductVersion .
 

Untuk mengambil ID produk, pemilik terdaftar, atau perusahaan terdaftar dari aplikasi yang diinstal, atur szProperty ke salah satu nilai string teks berikut.

Nilai Deskripsi
ProductID Pengidentifikasi produk untuk produk. Untuk informasi selengkapnya, lihat properti ProductID .
RegCompany Perusahaan terdaftar untuk menggunakan produk ini.
RegOwner Pemilik terdaftar untuk menggunakan produk ini.
 

Untuk mengambil jenis instans produk, atur szProperty ke nilai berikut. Properti ini tersedia untuk produk yang diiklankan atau diinstal.

Nilai Deskripsi
InstanceType Nilai yang hilang atau nilai 0 (nol) menunjukkan penginstalan produk normal. Nilai 1 (satu) menunjukkan produk yang diinstal menggunakan beberapa transformasi instans dan properti MSINEWINSTANCE. Tersedia dengan alat penginstal yang menjalankan Windows Server 2003 atau Windows XP dengan SP1. Untuk informasi selengkapnya, lihat Menginstal Beberapa Instans Produk dan Patch.
 

Properti yang diiklankan dalam daftar berikut dapat diambil dari aplikasi yang diiklankan atau diinstal.

Properti Deskripsi
INSTALLPROPERTY_TRANSFORMS Mengubah.
INSTALLPROPERTY_LANGUAGE Bahasa produk.
INSTALLPROPERTY_PRODUCTNAME Nama produk yang dapat dibaca manusia. Untuk informasi selengkapnya, lihat properti ProductName .
INSTALLPROPERTY_ASSIGNMENTTYPE Sama dengan 0 (nol) jika produk diiklankan atau diinstal per pengguna.

Sama dengan 1 (satu) jika produk diiklankan atau diinstal per mesin untuk semua pengguna.

INSTALLPROPERTY_PACKAGECODE Pengidentifikasi paket tempat produk ini diinstal. Untuk informasi selengkapnya, lihat Kode Paket.
INSTALLPROPERTY_VERSION Versi produk yang berasal dari properti ProductVersion .
INSTALLPROPERTY_PRODUCTICON Ikon utama untuk paket. Untuk informasi selengkapnya, lihat properti ARPPRODUCTICON .
INSTALLPROPERTY_PACKAGENAME Nama paket penginstalan asli.
INSTALLPROPERTY_AUTHORIZED_LUA_APP Nilai satu (1) menunjukkan produk yang dapat dilayani oleh non-administrator menggunakan Patching Kontrol Akun Pengguna (UAC). Nilai yang hilang atau nilai 0 (nol) menunjukkan bahwa patching hak istimewa paling sedikit tidak diaktifkan. Tersedia di Windows Installer 3.0 atau yang lebih baru.

[out] lpValueBuf

Penunjuk ke buffer yang menerima nilai properti. Parameter ini dapat berupa null.

[in, out] pcchValueBuf

Penunjuk ke variabel yang menentukan ukuran, dalam karakter, dari buffer yang diacu oleh parameter lpValueBuf . Pada input, ini adalah ukuran penuh buffer, termasuk spasi untuk karakter null yang mengakhiri. Jika buffer yang diteruskan terlalu kecil, jumlah yang dikembalikan tidak menyertakan karakter null yang mengakhiri.

Jika lpValueBuf null, pcchValueBuf bisa null. Dalam hal ini, fungsi memeriksa bahwa properti terdaftar dengan benar dengan produk.

Mengembalikan nilai

Nilai Makna
ERROR_BAD_CONFIGURATION
Data konfigurasi rusak.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi.
ERROR_MORE_DATA
Buffer terlalu kecil untuk menyimpan data yang diminta.
ERROR_SUCCESS
Fungsi berhasil diselesaikan.
ERROR_UNKNOWN_PRODUCT
Produk ini belum diversikan atau dihapus instalasinya.
ERROR_UNKNOWN_PROPERTY
Properti tidak dikenali.
Catatan Fungsi MsiGetProductInfo mengembalikan ERROR_UNKNOWN_PROPERTY jika aplikasi yang dikueri diiklankan dan tidak diinstal.
 

Keterangan

Ketika fungsi MsiGetProductInfo kembali, parameter pcchValueBuf berisi panjang string yang disimpan dalam buffer. Jumlah yang dikembalikan tidak termasuk karakter null yang mengakhiri. Jika buffer tidak cukup besar, MsiGetProductInfo mengembalikan ERROR_MORE_DATA dan pcchValueBuf berisi ukuran string, dalam karakter, tanpa menghitung karakter null.

MsiGetProductInfo(INSTALLPROPERTY_LOCALPACKAGE) tidak selalu mengembalikan jalur ke paket cache. Paket yang di-cache hanya untuk penggunaan internal. Penginstalan mode pemeliharaan harus dipanggil melalui fungsi MsiConfigureFeature, MsiConfigureProduct, atau MsiConfigureProductEx .

Jika Anda mencoba menggunakan MsiGetProductInfo untuk mengkueri produk yang diiklankan untuk properti yang hanya tersedia untuk produk yang diinstal, fungsi akan mengembalikan ERROR_UNKNOWN_PROPERTY. Misalnya, jika aplikasi diiklankan dan tidak diinstal, kueri untuk properti INSTALLPROPERTY_INSTALLLOCATION mengembalikan kesalahan ERROR_UNKNOWN_PROPERTY.

Catatan

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

Menentukan Konteks Penginstalan

Tidak Didukung di Windows Installer 2.0 dan yang lebih lama

Fungsi Status Sistem