Fungsi MsiSetFeatureStateA (msiquery.h)
Fungsi MsiSetFeatureState mengatur fitur ke status tertentu.
Sintaks
UINT MsiSetFeatureStateA(
[in] MSIHANDLE hInstall,
[in] LPCSTR szFeature,
[in] INSTALLSTATE iState
);
Parameter
[in] hInstall
Tangani penginstalan yang disediakan untuk tindakan kustom DLL atau diperoleh melalui MsiOpenPackage, MsiOpenPackageEx, atau MsiOpenProduct.
[in] szFeature
Menentukan nama fitur.
[in] iState
Menentukan status yang akan diatur. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai kembali
Fungsi MsiSetFeatureState mengembalikan nilai berikut:
Keterangan
Fungsi MsiSetFeatureState meminta perubahan dalam status pilih fitur dalam tabel Fitur dan turunannya. Pada gilirannya, status tindakan semua komponen yang ditautkan ke rekaman fitur yang diubah juga diperbarui dengan tepat, berdasarkan status pemilihan fitur baru.
Fungsi MsiSetInstallLevel harus dipanggil sebelum memanggil MsiSetFeatureState.
Ketika MsiSetFeatureState dipanggil, alat penginstal mencoba mengatur status tindakan setiap komponen yang terkait dengan fitur yang ditentukan ke status yang ditentukan. Namun, ada situasi umum ketika permintaan tidak dapat diimplementasikan sepenuhnya. Misalnya, jika fitur terkait dengan dua komponen, komponen A dan komponen B, melalui tabel FeatureComponents , dan komponen A memiliki atribut msidbComponentAttributesLocalOnly dan komponen B memiliki atribut msidbComponentAttributesSourceOnly . Dalam hal ini, jika MsiSetFeatureState dipanggil dengan status yang diminta baik INSTALLSTATE_LOCAL atau INSTALLSTATE_SOURCE, permintaan tidak dapat sepenuhnya diimplementasikan untuk kedua komponen. Dalam hal ini, kedua komponen diaktifkan, dengan komponen A diatur ke Lokal dan komponen B diatur ke Sumber.
Jika lebih dari satu fitur ditautkan ke satu komponen (skenario umum), status tindakan akhir komponen tersebut ditentukan sebagai berikut:
- Jika setidaknya satu fitur mengharuskan komponen diinstal secara lokal, fitur ini diinstal dengan status lokal.
- Jika setidaknya satu fitur mengharuskan komponen dijalankan dari sumbernya, fitur ini diinstal dengan status sumber.
- Jika setidaknya satu fitur memerlukan penghapusan komponen, status tindakan tidak ada.
Jika fungsi gagal, Anda dapat memperoleh informasi kesalahan yang diperluas dengan menggunakan MsiGetLastErrorRecord.
Catatan
Header msiquery.h mendefinisikan MsiSetFeatureState sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praproscesor 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 |
Target Platform | Windows |
Header | msiquery.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