Fungsi MsiGetProductInfoExA (msi.h)

Fungsi MsiGetProductInfoEx mengembalikan informasi produk untuk produk yang diiklankan dan diinstal. Fungsi ini dapat mengambil informasi

tentang instans produk yang diinstal di bawah akun pengguna selain pengguna saat ini.

Proses panggilan harus memiliki hak administratif untuk pengguna yang berbeda dari pengguna saat ini. Fungsi MsiGetProductInfoEx tidak dapat mengkueri instans produk yang diiklankan di bawah konteks per pengguna yang tidak dikelola untuk akun pengguna selain pengguna saat ini.

Fungsi ini adalah ekstensi dari fungsi MsiGetProductInfo .

Sintaks

UINT MsiGetProductInfoExA(
  [in]                LPCSTR            szProductCode,
  [in]                LPCSTR            szUserSid,
  [in]                MSIINSTALLCONTEXT dwContext,
  [in]                LPCSTR            szProperty,
  [out, optional]     LPSTR             szValue,
  [in, out, optional] LPDWORD           pcchValue
);

Parameter

[in] szProductCode

GUID ProductCode dari instans produk yang sedang dikueri.

[in] szUserSid

Pengidentifikasi keamanan (SID) akun tempat instans produk yang sedang dikueri ada. NULL menentukan SID pengguna saat ini.

SID Makna
NULL
Pengguna yang saat ini masuk.
Pengidentifikasi keamanan pengguna
Enumerasi untuk pengguna tertentu dalam sistem. Contoh SID pengguna adalah "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Catatan String SID khusus "S-1-5-18" (sistem) tidak dapat digunakan untuk menghitung produk yang diinstal sebagai per komputer. Jika dwContext adalah "MSIINSTALLCONTEXT_MACHINE", szUserSid harus NULL.
 

[in] dwContext

Konteks penginstalan instans produk yang sedang dikueri.

Nama Makna
MSIINSTALLCONTEXT_USERMANAGED
Mengambil properti produk untuk instans produk yang dikelola per pengguna.
MSIINSTALLCONTEXT_USERUNMANAGED
Mengambil properti produk untuk instans produk per-pengguna-tidak terkelola.
MSIINSTALLCONTEXT_MACHINE
Mengambil properti produk untuk instans produk per komputer.

[in] szProperty

Properti sedang dikueri.

Properti yang akan diambil. Properti dalam tabel berikut ini hanya dapat diambil dari aplikasi yang sudah diinstal. Semua properti yang diperlukan dijamin tersedia, tetapi properti lain hanya tersedia jika properti diatur. Untuk mengetahui informasi selengkapnya, lihat
Properti dan Properti yang Diperlukan.

Properti Makna
INSTALLPROPERTY_PRODUCTSTATE
Status produk dikembalikan dalam bentuk string sebagai "1" untuk diiklankan dan "5" untuk diinstal.
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.

Windows Installer 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 informasi selengkapnya, lihat properti ProductID .
RegCompany Perusahaan yang terdaftar untuk menggunakan produk.
RegOwner Pemilik yang terdaftar untuk menggunakan produk.
 

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 satu (1) menunjukkan produk yang diinstal menggunakan beberapa transformasi instans dan properti MSINEWINSTANCE . Untuk informasi selengkapnya, lihat Menginstal Beberapa Instans Produk dan Patch.
 

Properti dalam tabel berikut dapat diambil dari aplikasi yang diiklankan atau diinstal. Properti ini tidak dapat diambil untuk instans produk yang diinstal di bawah konteks per pengguna yang tidak dikelola untuk akun pengguna selain akun pengguna saat ini.

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 satu (1) jika produk diiklankan atau diinstal per komputer untuk semua pengguna.

INSTALLPROPERTY_PACKAGECODE Pengidentifikasi paket tempat produk diinstal. Untuk informasi selengkapnya, lihat properti 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, optional] szValue

Penunjuk ke buffer yang menerima nilai properti. Buffer ini harus cukup besar untuk memuat informasi. Jika buffer terlalu kecil, fungsi mengembalikan ERROR_MORE_DATA dan mengatur *pcchValue ke jumlah TCHAR dalam nilai, tidak termasuk karakter NULL yang mengakhiri.

Jika lpValue diatur ke NULL dan pcchValue diatur ke penunjuk yang valid, fungsi mengembalikan ERROR_SUCCESS dan mengatur *pcchValue ke jumlah TCHAR dalam nilai, tidak termasuk karakter NULL yang mengakhiri. Fungsi kemudian dapat dipanggil lagi untuk mengambil nilai, dengan buffer lpValue cukup besar untuk berisi *pcchValue + 1 karakter.

Jika lpValue dan pcchValue diatur ke NULL, fungsi mengembalikan ERROR_SUCCESS jika nilai ada, tanpa mengambil nilai.

[in, out, optional] pcchValue

Penunjuk ke variabel yang menentukan jumlah TCHAR dalam buffer lpValue . Ketika fungsi kembali, parameter ini diatur ke ukuran nilai yang diminta apakah fungsi menyalin nilai ke dalam buffer yang ditentukan atau tidak. Ukuran dikembalikan sebagai jumlah TCHAR dalam nilai yang diminta, tidak termasuk karakter null yang mengakhiri.

Parameter ini dapat diatur ke NULL hanya jika lpValue juga NULL. Jika tidak, fungsi mengembalikan ERROR_INVALID_PARAMETER.

Nilai kembali

Fungsi MsiGetProductInfoEx mengembalikan nilai berikut.

Menampilkan kode Deskripsi
ERROR_ACCESS_DENIED
Proses panggilan harus memiliki hak administratif untuk mendapatkan informasi untuk produk yang diinstal untuk pengguna selain pengguna saat ini.
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 tidak terverihkan atau dihapus instalannya.
ERROR_UNKNOWN_PROPERTY
Properti tidak dikenali.
Catatan Fungsi MsiGetProductInfo mengembalikan ERROR_UNKNOWN_PROPERTY jika aplikasi yang dikueri diiklankan dan tidak diinstal.
 
ERROR_FUNCTION_FAILED
Kegagalan internal yang tidak terduga.

Keterangan

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

Fungsi MsiGetProductInfoEx (INSTALLPROPERTY_LOCALPACKAGE) mengembalikan jalur ke paket cache. Paket cache hanya untuk penggunaan internal. Penginstalan mode pemeliharaan harus dipanggil melalui fungsi MsiConfigureFeature, MsiConfigureProduct, atau MsiConfigureProductEx .

Fungsi MsiGetProductInfo mengembalikan ERROR_UNKNOWN_PROPERTY jika aplikasi yang dikueri diiklankan dan tidak diinstal. Misalnya, jika aplikasi diiklankan dan tidak diinstal, kueri untuk INSTALLPROPERTY_INSTALLLOCATION mengembalikan kesalahan ERROR_UNKNOWN_PROPERTY.

Catatan

Header msi.h mendefinisikan MsiGetProductInfoEx 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. 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

Lihat juga

ARPHELPLINK

ARPHELPTELEPHONE

ARPINSTALLLOCATION

ARPPRODUCTICON

ARPURLINFOABOUT

ARPURLUPDATEINFO

Produsen

MsiConfigureFeature

MsiConfigureProduct

MsiConfigureProductEx

Tidak Didukung di Windows Installer 2.0 dan yang lebih lama

Kode Paket

ProductCode

ProductID

ProductName

ProductVersion

Properti

Properti yang Diperlukan

SourceDir

Fungsi Status Sistem