Bagikan melalui


Properti Session.FeatureRequestState

Properti FeatureRequestState adalah properti baca-tulis dari objek Sesi . Ini dapat digunakan untuk mendapatkan status tindakan saat ini dari fitur atau untuk meminta perubahan dalam tindakan fitur dan subfeaturnya. Fitur harus dinamai dalam tabel Fitur . Jika perubahan pada status tindakan fitur diminta, status tindakan semua komponen fitur yang diubah juga dapat diubah. Status tindakan komponen yang dibagikan oleh lebih dari satu fitur akan diubah sesuai dengan status tindakan fitur baru (lihat Keterangan). Properti FeatureRequestState juga dapat digunakan untuk mengonfigurasi semua fitur sekaligus dengan menentukan kata kunci ALL, bukan nama fitur tertentu.

Properti ini bersifat baca/tulis.

Sintaks

propVal = Session.FeatureRequestState
Session.FeatureRequestState = propVal 

Nilai properti

String yang diperlukan yang menentukan nama fitur yang akan dikonfigurasi. Untuk mengatur semua fitur ke status permintaan yang diinginkan, gunakan kata yang tidak peka huruf besar/kecil yang dipesan: SEMUA.

Keterangan

Metode SetInstallLevel harus dipanggil sebelum memanggil FeatureRequestState.

Jika status fitur saat ini sedang diminta, properti FeatureRequestState mengembalikan salah satu nilai berikut.

Nama status pilihan Makna
msiInstallStateUnknown = -1 Tidak ada tindakan yang diambil untuk fitur ini. Ini setara dengan null.
msiInstallStateAdvertised =1 Fitur ini akan diiklankan.
msiInstallStateAbsent = 2 Fitur ini akan dihapus.
msiInstallStateLocal = 3 Fitur ini akan diinstal sebagai run-local.
msiInstallStateSource = 4 Fitur ini akan diinstal sebagai run-from-source.
msiInstallStateDefault = 5 Fitur ini akan diinstal ulang dengan status tindakan fitur saat ini.

 

Misalnya, berikut ini mendapatkan status "MyFeature" saat ini dari tindakan kustom VBScript.

Dim iRequestState
iRequestState = Session.FeatureRequestState("MyFeature")

Jika status fitur sedang dikonfigurasi, properti FeatureRequestState harus diatur ke salah satu nilai berikut.

Nama status pilihan Makna
msiInstallStateAdvertised = 1 Iklankan fitur tersebut.
msiInstallStateAbsent = 2 Hapus fitur.
msiInstallStateLocal = 3 Instal fitur sebagai run-local.
msiInstallStateSource = 4 Instal fitur sebagai run-from-source.

 

Misalnya, permintaan berikut dari tindakan kustom VBScript yang diinstal "MyFeature" untuk dijalankan secara lokal di komputer.

Session.FeatureRequestState("MyFeature")=3

Ketika FeatureRequestState dipanggil, alat penginstal mencoba mengatur status tindakan setiap komponen yang terkait dengan fitur yang ditentukan ke status yang ditentukan, sebaik mungkin. Namun, ada situasi umum ketika permintaan tidak dapat sepenuhnya dihormati. 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 FeatureRequestState dipanggil dengan status yang diminta baik msiInstallStateLocal atau msiInstallStateSource, permintaan tidak dapat dihormati untuk kedua komponen. Dalam hal ini, kedua komponen dapat diaktifkan dengan Komponen A diatur ke msiInstallStateLocal dan Komponen B diatur ke msiInstallStateSource.

Jika lebih dari satu fitur ditautkan ke satu komponen, status tindakan akhir komponen tersebut ditentukan sebagai berikut: Jika setidaknya satu panggilan fitur untuk komponen diinstal secara lokal, komponen tersebut diinstal msiInstallStateLocal. Jika setidaknya satu panggilan fitur untuk komponen dijalankan dari media sumber, itu diinstal msiInstallStateSource. Jika setidaknya satu panggilan fitur untuk penghapusan komponen, status tindakan adalah msiInstallStateAbsent. Untuk informasi selengkapnya tentang bagaimana fitur dipilih untuk penginstalan, lihat tabel Fitur .

Jika properti gagal, Anda dapat memperoleh informasi kesalahan yang diperluas dengan menggunakan metode LastErrorRecord .

Persyaratan

Persyaratan Nilai
Versi
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
DLL
Msi.dll
IID
IID_ISession didefinisikan sebagai 000C109E-0000-0000-C000-00000000046

Lihat juga

Sesi

Fitur