Session.FeatureValidStates 属性
Session 对象的 FeatureValidStates 属性返回一个表示位标志的整数,每个相关位表示指定功能的有效安装状态。
此属性为只读。
语法
propVal = Session.FeatureValidStates
属性值
要检索其有效安装状态的功能项的必需字符串名称。
备注
返回值由位标志组成,如下所示。 位 0:如果设置,则 Local 为有效状态。 位 1:如果设置,则 Source 为有效状态。
只有在安装程序调用 CostInitialize 和 CostFinalize 操作后,FeatureValidStates 属性才会成功。
FeatureValidStates 通过查询链接到指定功能的所有组件来确定状态有效性,而不考虑任何组件的当前安装状态。
功能的可能有效状态确定如下:
- 如果功能不包含组件,则 INSTALLSTATE_LOCAL 和 INSTALLSTATE_SOURCE 都是功能的有效状态。
- 如果功能的至少一个组件具有 msidbComponentAttributesLocalOnly 或 msidbComponentAttributesOptional 属性,则 INSTALLSTATE_LOCAL 是功能的有效状态。
- 如果功能的至少一个组件具有 msidbComponentAttributesSourceOnly 或 msidbComponentAttributesOptional 属性,则 INSTALLSTATE_SOURCE 是功能的有效状态。
- 如果属于功能的组件的文件已修补或来自压缩源,则不会将 INSTALLSTATE_SOURCE 作为功能的有效状态包含在内。
- 如果功能禁止播发 (msidbFeatureAttributesDisallowAdvertise) 或功能需要平台支持播发 (msidbFeatureAttributesNoUnsupportedAdvertise) 而平台不支持,则 INSTALLSTATE_ADVERTISE 不是有效状态。
- 如果功能的属性不包括 msidbFeatureAttributesUIDisallowAbsent,则 INSTALLSTATE_ABSENT 是功能的有效状态。
- 标记为遵循父功能 (msidbFeatureAttributesFollowParent) 的子功能的有效状态基于父功能的操作或安装状态。
如果该属性失败,可以使用 LastErrorRecord 方法获取扩展的错误信息。
要求
要求 | 值 |
---|---|
版本 |
Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer |
DLL |
|
IID |
IID_ISession 定义为 000C109E-0000-0000-C000-000000000046 |