Fungsi MsiSourceListAddSourceExA (msi.h)

Fungsi MsiSourceListAddSourceEx menambahkan atau menyusun ulang kumpulan sumber patch atau produk dalam konteks tertentu. Ini juga dapat membuat daftar sumber untuk patch yang tidak ada dalam konteks yang ditentukan.

Sintaks

UINT MsiSourceListAddSourceExA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           LPCSTR            szSource,
  [in, optional] DWORD             dwIndex
);

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 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 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 komputer. 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
Instans produk atau patch ada dalam konteks per komputer.

[in] dwOptions

Nilai dwOptions menentukan interpretasi nilai szProductCodeOrPatchCode dan jenis sumber yang akan dihapus. Parameter ini 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 kode produk.
MSICODE_PATCH
szProductCodeOrPatchCode adalah kode patch.

[in] szSource

Sumber untuk ditambahkan atau dipindahkan. Parameter ini diharapkan hanya berisi jalur tanpa nama file. Nama file sudah terdaftar sebagai "PackageName" dan dapat dimanipulasi melalui MsiSourceListSetInfo. Argumen ini diperlukan.

[in, optional] dwIndex

Parameter ini menyediakan indeks baru untuk sumbernya. Semua sumber diindeks dalam daftar sumber dari 1 hingga N, di mana N adalah hitungan sumber dalam daftar. Setiap sumber dalam daftar memiliki indeks unik.

Jika MsiSourceListAddSourceEx dipanggil dengan sumber baru dan dwIndex diatur ke 0 (nol), sumber baru ditambahkan ke daftar yang ada. Jika dwIndex diatur ke 0 dan sumber sudah ada dalam daftar, tidak ada pembaruan yang dilakukan pada daftar.

Jika MsiSourceListAddSourceEx dipanggil dengan sumber baru dan dwIndex diatur ke nilai bukan nol kurang dari hitungan (N), sumber baru ditempatkan pada indeks yang ditentukan dan sumber lain diindeks ulang. Jika sumber sudah ada, sumber dipindahkan ke indeks yang ditentukan dan sumber lain diindeks ulang.

Jika MsiSourceListAddSourceEx dipanggil dengan sumber baru dan dwIndex diatur ke nilai bukan nol yang lebih besar dari jumlah sumber (N), sumber baru ditambahkan ke daftar yang ada. Jika sumber sudah ada, sumber dipindahkan ke akhir daftar dan sumber lain diindeks ulang.

Nilai kembali

Fungsi MsiSourceListAddSourceEx mengembalikan nilai berikut.

Nilai Makna
ERROR_ACCESS_DENIED
Pengguna tidak memiliki kemampuan untuk menambahkan atau memindahkan sumber. Tidak menunjukkan apakah produk atau patch ditemukan.
ERROR_BAD_CONFIGURATION
Data konfigurasi rusak.
ERROR_INSTALL_SERVICE_FAILURE
Tidak dapat mengakses layanan Pemasang Windows.
ERROR_SUCCESS
Sumber disisipkan atau diperbarui.
ERROR_UNKNOWN_PRODUCT
Produk yang ditentukan tidak diketahui.
ERROR_UNKNOWN_PATCH
Patch yang ditentukan tidak diketahui.
ERROR_FUNCTION_FAILED
Kegagalan internal yang tidak terduga.

Keterangan

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

Non-administrator tidak dapat mengubah penginstalan instans produk atau patch yang ada di bawah konteks per pengguna pengguna lain (terkelola atau tidak terkelola.) 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 .

Catatan

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

   
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

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

MsiSourceListSetInfo

Tidak Didukung di Windows Installer 2.0 dan yang lebih lama

ProductCode

Ketahanan Sumber