Fungsi MsiSourceListForceResolutionA (msi.h)

Fungsi MsiSourceListForceResolution memaksa alat penginstal untuk mencari daftar sumber untuk sumber produk yang valid saat sumber diperlukan di lain waktu. Misalnya, ketika alat penginstal melakukan penginstalan atau penginstalan ulang, atau ketika memerlukan jalur untuk komponen yang diatur untuk dijalankan dari sumber.

Sintaks

UINT MsiSourceListForceResolutionA(
  [in] LPCSTR szProduct,
  [in] LPCSTR szUserName,
  [in] DWORD  dwReserved
);

Parameter

[in] szProduct

ProductCode produk yang akan dimodifikasi.

[in] szUserName

Nama pengguna untuk penginstalan per pengguna. Nama pengguna harus selalu dalam format DOMAIN\USERNAME (atau MACHINENAME\USERNAME untuk pengguna lokal).

String kosong atau NULL untuk penginstalan per komputer.

[in] dwReserved

Disiapkan untuk penggunaan masa mendatang. Nilai ini harus diatur ke 0.

Nilai kembali

Fungsi MsiSourceListForceResolution mengembalikan nilai berikut.

Nilai Makna
ERROR_ACCESS_DENIED
Pemanggil tidak memiliki akses yang memadai untuk memaksa resolusi produk.
ERROR_BAD_CONFIGURATION
Data konfigurasi rusak.
ERROR_BAD_USER_NAME
Pengguna yang ditentukan bukan pengguna yang valid.
ERROR_FUNCTION_FAILED
Fungsi tidak dapat diselesaikan.
ERROR_INSTALL_SERVICE_FAILURE
Layanan penginstalan tidak dapat diakses.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi.
ERROR_SUCCESS
Fungsi berhasil.
ERROR_UNKNOWN_PRODUCT
Produk yang ditentukan tidak diketahui.

Keterangan

Administrator dapat memodifikasi penginstalan per komputer, penginstalan non-terkelola per pengguna mereka sendiri, dan penginstalan terkelola per pengguna untuk pengguna mana pun. Non-administrator hanya dapat memodifikasi penginstalan per komputer dan penginstalan per pengguna mereka sendiri (terkelola atau tidak terkelola).

Jika nama pengguna adalah string kosong atau NULL, fungsi beroperasi pada penginstalan per komputer produk. Dalam hal ini, jika produk diinstal sebagai per pengguna saja, fungsi akan mengembalikan ERROR_UNKNOWN_PRODUCT.

Jika nama pengguna bukan string kosong atau NULL, nama pengguna yang penginstalan produknya dimodifikasi. Jika nama pengguna adalah nama pengguna saat ini, fungsi pertama-tama mencoba memodifikasi penginstalan produk yang tidak dikelola. Jika tidak ada penginstalan produk yang tidak dikelola yang dapat ditemukan, fungsi kemudian mencoba memodifikasi penginstalan produk per pengguna terkelola. Jika tidak ada penginstalan produk yang dikelola atau tidak dikelola per pengguna yang dapat ditemukan, fungsi mengembalikan ERROR_UNKNOWN_PRODUCT, bahkan jika produk diinstal per komputer.

Fungsi ini tidak dapat mengubah penginstalan yang tidak dikelola untuk pengguna mana pun selain pengguna saat ini. Jika nama pengguna bukan string kosong atau NULL, tetapi bukan pengguna saat ini, fungsi hanya memeriksa penginstalan produk per pengguna terkelola untuk pengguna yang ditentukan. Jika produk tidak diinstal sebagai dikelola per pengguna untuk pengguna yang ditentukan, fungsi mengembalikan ERROR_UNKNOWN_PRODUCT, bahkan jika produk diinstal per mesin.

Catatan

Header msi.h mendefinisikan MsiSourceListForceResolution sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor 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. Windows Installer pada Windows Server 2003 atau Windows XP. 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

LookupAccountName

MsiGetComponentPath

Ketahanan Sumber