Session 对象 (Windows Installer)

Session 对象控制安装进程。 它打开包含安装表和数据的安装程序数据库。 此对象与一组标准操作函数相关联,其中每个函数对一个或多个表中的数据执行特定的操作。 可为特定产品安装添加其他自定义操作。 基本引擎函数是一个排序器,它从指定的顺序表提取顺序记录,计算任何指定的条件表达式,并执行指定的操作。 该引擎无法识别的操作将推迟到由 UI 处理程序对象进行处理(通常是对话框顺序)。

请注意,单个进程只能打开一个 Session 对象。

成员

Session 对象具有以下类型的成员:

方法

Session 对象具有以下方法。

方法 说明
DoAction 执行指定的操作。
EvaluateCondition 计算包含符号和值的逻辑表达式,并返回枚举 msiEvaluateConditionErrorEnum 的整数。
FeatureInfo 返回一个 FeatureInfo 对象,该对象包含指定的功能的描述性信息。
FormatRecord 从模板和记录数据返回带格式的字符串。
Message 执行任何已启用的日志记录操作,并将执行推迟到由与引擎关联的 UI 处理程序对象进行处理。
Sequence 打开对指定表的查询,按 Sequence 列中的数字对操作进行排序。 对于提取的每一行,将调用 DoAction 方法,前提是提供的任何条件表达式的计算结果不为 False。
SetInstallLevel 将当前安装的安装级别设置为指定值,并重新计算所有功能的 Select 和 Installed 状态。

 

属性

Session 对象具有以下属性。

属性 访问类型 说明
ComponentCosts
返回一个 RecordList 对象,该对象枚举每个驱动器上为安装某个组件而需要的磁盘空间。
ComponentCurrentState
返回指定的组件的当前安装状态。
ComponentRequestState
获取或请求 Component 表中某行的 Action 状态的更改。
数据库
返回当前安装会话的数据库。
FeatureCost
返回指定功能及其父功能(最高级别为 Feature 表的根)所需的磁盘空间总量(以 512 字节为单位)。
FeatureCurrentState
返回指定的功能的当前安装状态。
FeatureRequestState
读取/写入
获取或请求功能记录和子记录的 Select 状态的更改。
FeatureValidStates
返回一个表示位标志的整数,每个相关位表示指定的功能的有效安装状态。
安装程序
返回活动安装程序对象。
Language(Session 对象)
表示当前安装会话使用的数字语言标识符。
模型
此属性是表示当前安装会话的指定模式标志的值。
ProductProperty
表示命名安装程序属性的字符串值。
Property(Session 对象)
读取/写入
从产品数据库中检索产品属性。
SourcePath
提供源媒体或服务器映像上指定的文件夹的完整路径。
TargetPath
读取/写入
提供安装目标驱动器上指定的文件夹的完整路径。
VerifyDiskSpace
如果有足够的磁盘空间,则返回 true;如果磁盘已满,则返回 false。

 

要求

要求
版本
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
Msi.dll
IID
IID_ISession 定义为 000C109E-0000-0000-C000-000000000046

另请参阅

Windows Installer 脚本编写示例