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 |
|
IID |
IID_ISession 定义为 000C109E-0000-0000-C000-000000000046 |
另请参阅