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.
[in] dwContext
Konteks penginstalan instans produk yang sedang dikueri.
[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 |
---|---|
|
Status produk dikembalikan dalam bentuk string sebagai "1" untuk diiklankan dan "5" untuk diinstal. |
|
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 Baris Perintah /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 dan yang lebih lama: Tidak didukung. |
|
Nama produk yang diinstal. Untuk informasi selengkapnya, lihat properti ProductName . |
|
Lokasi penginstalan. Untuk informasi selengkapnya, lihat properti ARPINSTALLLOCATION . |
|
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 ProductVersion . |
|
Versi produk utama yang berasal dari properti ProductVersion . |
|
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 |
---|---|
|
Proses panggilan harus memiliki hak administratif untuk mendapatkan informasi untuk produk yang diinstal untuk pengguna selain pengguna saat ini. |
|
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 instalannya. |
|
Properti tidak dikenali.
Catatan Fungsi MsiGetProductInfo mengembalikan ERROR_UNKNOWN_PROPERTY jika aplikasi yang dikueri diiklankan dan tidak diinstal.
|
|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk