Fungsi MsiSourceListSetInfoA (msi.h)

Fungsi MsiSourceListSetInfo mengatur informasi tentang daftar sumber untuk produk atau patch dalam konteks tertentu.

Sintaks

UINT MsiSourceListSetInfoA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           LPCSTR            szProperty,
  [in]           LPCSTR            szValue
);

Parameter

[in] szProductCodeOrPatchCode

ProductCode atau patch GUID produk atau patch. Gunakan string yang dihentikan null. Jika string lebih panjang dari 39 karakter, fungsi gagal dan mengembalikan ERROR_INVALID_PARAMETER. Parameter ini tidak boleh NULL.

[in, optional] szUserSid

Parameter ini dapat menjadi string SID yang menentukan akun pengguna yang berisi produk atau patch. SID tidak divalidasi atau diselesaikan. SID yang salah dapat mengembalikan ERROR_UNKNOWN_PRODUCT atau ERROR_UNKNOWN_PATCH. Saat mereferensikan konteks komputer, szUserSID harus NULL dan dwContext harus MSIINSTALLCONTEXT_MACHINE.

Jenis SID Makna
NULL
NULL menunjukkan pengguna yang saat ini masuk. Saat mereferensikan akun pengguna saat ini, szUserSID dapat berupa NULL dan dwContext dapat MSIINSTALLCONTEXT_USERMANAGED atau MSIINSTALLCONTEXT_USERUNMANAGED.
Pengidentifikasi keamanan pengguna
Menentukan 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 atau patch yang diinstal sebagai per mesin. Mengatur nilai SID ke "S-1-5-18" mengembalikan "ERROR_INVALID_PARAMETER".
 
Catatan String SID khusus "S-1-1-0" (semua orang) tidak boleh digunakan. Mengatur nilai SID ke "S-1-1-0" gagal dan mengembalikan ERROR_INVALID_PARAM.
 

[in] dwContext

Parameter ini menentukan konteks produk atau instans patch. Parameter ini dapat berisi salah satu nilai berikut.

Jenis konteks Makna
MSIINSTALLCONTEXT_USERMANAGED
Instans produk atau patch ada dalam konteks yang dikelola per pengguna.
MSIINSTALLCONTEXT_USERUNMANAGED
Instans produk atau patch ada dalam konteks per pengguna yang tidak dikelola.
MSIINSTALLCONTEXT_MACHINE
Produk atau instans patch ada dalam konteks per komputer.

[in] dwOptions

Nilai dwOptions menentukan arti szProductCodeOrPatchCode.

Jika properti yang diatur adalah "LastUsedSource", parameter ini juga menentukan jenis sumber sebagai jaringan atau URL. Dalam hal ini, parameter dwOptions harus merupakan kombinasi dari salah satu konstanta MSISOURCETYPE_ berikut dan salah satu konstanta MSICODE_ berikut.

Bendera Makna
MSISOURCETYPE_NETWORK
Sumbernya adalah jenis jaringan.
MSISOURCETYPE_URL
Sumbernya adalah jenis URL.
MSICODE_PRODUCT
szProductCodeOrPatchCode adalah GUID kode produk.
MSICODE_PATCH
szProductCodeOrPatchCode adalah GUID kode patch.

[in] szProperty

Parameter szProperty menunjukkan nilai properti yang akan diatur. Tidak semua properti yang dapat diambil melalui MsiSourceListGetInfo dapat diatur melalui panggilan ke MsiSourceListSetInfo. Nilai szProperty bisa menjadi salah satu nilai berikut.

Nama Makna
INSTALLPROPERTY_MEDIAPACKAGEPATH
"MediaPackagePath"
Jalur relatif terhadap akar media penginstalan.
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
Templat perintah yang digunakan saat meminta media penginstalan kepada pengguna.
INSTALLPROPERTY_LASTUSEDSOURCE
"LastUsedSource"
Lokasi sumber yang terakhir digunakan untuk produk. Jika sumber tidak terdaftar, fungsi memanggil MsiSourceListAddSourceEx untuk mendaftarkannya. Pada pendaftaran yang berhasil, fungsi menetapkan sumber sebagai LastUsedSource.
INSTALLPROPERTY_PACKAGENAME
"PackageName"
Nama paket Pemasang Windows atau paket patch pada sumbernya.

[in] szValue

Nilai baru properti . Tidak ada validasi nilai baru yang dilakukan. Nilai ini tidak boleh NULL. Ini bisa menjadi string kosong.

Mengembalikan nilai

Fungsi MsiSourceListSetInfo mengembalikan nilai berikut.

Nilai Makna
ERROR_ACCESS_DENIED
Pengguna tidak memiliki kemampuan untuk mengatur daftar sumber untuk produk yang ditentukan.
ERROR_BAD_CONFIGURATION
Data konfigurasi rusak.
ERROR_INSTALL_SERVICE_FAILURE
Layanan Pemasang Windows tidak dapat diakses.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi.
ERROR_SUCCESS
Properti telah diatur.
ERROR_UNKNOWN_PATCH
Patch tidak ditemukan.
ERROR_UNKNOWN_PRODUCT
Produk tidak ditemukan.
ERROR_UNKNOWN_PROPERTY
Properti sumber tidak ditemukan.
ERROR_FUNCTION_FAILED
Kegagalan internal yang tidak terduga.

Keterangan

Administrator dapat memodifikasi penginstalan instans produk atau patch yang ada di bawah konteks komputer atau di bawah konteks per pengguna mereka sendiri (terkelola atau tidak dikelola.) Mereka dapat memodifikasi penginstalan produk atau instans patch yang ada di bawah konteks per pengguna yang dikelola pengguna. Administrator tidak dapat mengubah penginstalan produk atau instans patch pengguna lain yang ada di bawah konteks per pengguna lain yang tidak dikelola.

Non-administrator tidak dapat mengubah penginstalan produk atau instans patch yang ada di bawah konteks per pengguna pengguna lain (terkelola atau tidak dikelola.) Mereka dapat memodifikasi penginstalan produk atau instans patch yang ada di bawah konteks per pengguna mereka sendiri yang tidak dikelola. Mereka dapat memodifikasi penginstalan produk atau instans patch di bawah konteks mesin atau konteks yang dikelola per pengguna mereka sendiri hanya jika mereka diaktifkan untuk menelusuri produk atau sumber patch. Pengguna dapat diaktifkan untuk menelusuri sumber dengan mengatur kebijakan. Untuk informasi selengkapnya, lihat kebijakan DisableBrowse, AllowLockdownBrowse, dan AlwaysInstallElevated .

Pengecualian untuk aturan di atas adalah mengatur "LastUsedSource" ke salah satu sumber terdaftar. Jika sumber sudah terdaftar, non-administrator dapat mengatur "LastUsedSource" ke penginstalan mereka sendiri (terkelola atau tidak dikelola) dan penginstalan per komputer, terlepas dari kebijakan.

Catatan

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

Konteks Penginstalan

MsiSourceListGetInfo

Tidak Didukung di Windows Installer 2.0 dan yang lebih lama

ProductCode