Bagikan melalui


Fungsi MsiSourceListSetInfoA (msi.h)

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

Sintaksis

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 GUID patch produk atau patch. Gunakan string null-terminated. Jika string lebih panjang dari 39 karakter, fungsi gagal dan mengembalikan ERROR_INVALID_PARAMETER. Parameter ini tidak dapat null.

[in, optional] szUserSid

Parameter ini dapat berupa 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 Arti
NULL
NULL menunjukkan pengguna yang saat ini masuk. Saat mereferensikan akun pengguna saat ini, szUserSID dapat NULL dan dwContext dapat MSIINSTALLCONTEXT_USERMANAGED atau MSIINSTALLCONTEXT_USERUNMANAGED.
SID 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 Arti
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
Instans produk atau 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 Arti
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 Arti
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 Penginstal Windows atau paket patch pada sumbernya.

[in] szValue

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

Mengembalikan nilai

Fungsi MsiSourceListSetInfo mengembalikan nilai berikut.

Nilai Arti
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 Penginstal 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.

Komentar

Administrator dapat memodifikasi penginstalan produk atau instans 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 mana pun. Administrator tidak dapat mengubah penginstalan produk atau instans patch pengguna lain yang ada di bawah konteks per pengguna lain yang tidak dikelola pengguna.

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

Nota

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

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. 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

Konteks Penginstalan

MsiSourceListGetInfo

Tidak Didukung di Windows Installer 2.0 dan yang lebih lama

ProductCode