Fungsi MsiGetProductInfoA (msi.h)
Fungsi
Sintaksis
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 hanya dapat diambil dari aplikasi yang diinstal.
Harta benda | Arti |
---|---|
|
Tautan dukungan. Untuk informasi selengkapnya, lihat properti ARPHELPLINK |
|
Telepon dukungan. Untuk informasi selengkapnya, lihat properti ARPHELPTELEPHONE |
|
Terakhir kali produk ini menerima layanan. Nilai properti ini diganti setiap kali patch diterapkan atau dihapus dari produk atau opsi Command-Line /v digunakan untuk memperbaiki produk. Jika produk tidak menerima perbaikan atau patch properti ini berisi waktu produk ini diinstal pada komputer ini. |
|
Bahasa terinstal.
Windows Installer 4.5 danyang lebih lama: Tidak didukung. |
|
Nama produk yang diinstal. Untuk informasi selengkapnya, lihat properti ProductName. |
|
Lokasi penginstalan. Untuk informasi selengkapnya, lihat properti |
|
Sumber penginstalan. Untuk informasi selengkapnya, lihat properti SourceDir |
|
Paket cache lokal. |
|
Penerbit. Untuk informasi selengkapnya, lihat properti Produsen |
|
Informasi URL. Untuk informasi selengkapnya, lihat properti ARPURLINFOABOUT. |
|
Informasi pembaruan URL. Untuk informasi selengkapnya, lihat properti ARPURLUPDATEINFO |
|
Versi produk minor yang berasal dari properti |
|
Versi produk utama yang berasal dari properti |
|
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 |
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 transformasi beberapa 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.
Harta benda | 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 berasal dari properti ProductVersion |
INSTALLPROPERTY_PRODUCTICON | Ikon utama untuk paket. Untuk informasi selengkapnya, lihat properti |
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 bisa null.
[in, out] pcchValueBuf
Penunjuk ke variabel yang menentukan ukuran, dalam karakter, dari buffer yang ditujukkan oleh parameter lpValueBuf
Jika lpValueBuf null, pcchValueBuf bisa null. Dalam hal ini, fungsi memeriksa bahwa properti terdaftar dengan benar dengan produk.
Mengembalikan nilai
Nilai | Arti |
---|---|
|
Data konfigurasi rusak. |
|
Parameter yang tidak valid diteruskan ke fungsi. |
|
Buffer terlalu kecil untuk menyimpan data yang diminta. |
|
Fungsi berhasil diselesaikan. |
|
Produk tidak terverihkan atau dihapus instalasinya. |
|
Properti tidak dikenali.
|
Komentar
Saat fungsi MsiGetProductInfo kembali, parameter pcchValueBuf berisi panjang string yang disimpan dalam buffer. Jumlah yang dikembalikan tidak menyertakan karakter null yang dihentikan. 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 yang di-cache. Paket 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.
Nota
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
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
Menentukan konteks penginstalan
Tidak Didukung di Windows Installer 2.0 dan yang lebih lama