数据库函数
本材料适用于编写自己的安装程序的开发人员,以及想要详细了解安装程序数据库表的开发人员。 有关安装程序的一般信息,请参阅关于 Windows Installer。
可以使用安装程序访问函数来访问数据库和安装过程。 这些函数只能由自定义安装操作和创作工具使用。 某些安装程序访问函数需要使用 SQL 查询字符串来查询数据库。 查询必须遵守安装程序的 SQL 语法。
本主题按类别列出安装程序数据库访问函数。
常规数据库访问函数
函数 | 说明 |
---|---|
MsiDatabaseCommit | 将更改提交到数据库。 |
MsiDatabaseGetPrimaryKeys | 返回所有主键列的名称。 |
MsiDatabaseIsTablePersistent | 返回描述表状态的枚举。 |
MsiDatabaseOpenView | 准备数据库查询并创建视图对象。 |
MsiGetActiveDatabase | 返回安装的活动数据库。 |
MsiViewGetColumnInfo | 返回列名或定义。 |
MsiOpenDatabase | 打开数据库文件进行数据访问。 |
MsiViewClose | 释放已执行的视图的结果集。 |
MsiViewExecute | 执行视图查询并提供必需的参数。 |
MsiViewFetch | 从视图中提取下一条顺序记录。 |
MsiViewGetError | 返回 MsiViewModify 函数中发生的错误。 |
MsiViewModify | 更新提取的记录。 |
数据库管理函数
函数 | 说明 |
---|---|
MsiCreateTransformSummaryInfo | 为现有转换创建摘要信息。 |
MsiDatabaseApplyTransform | 将转换应用于数据库。 |
MsiDatabaseExport | 将打开的数据库中的表导出到文本存档文件。 |
MsiDatabaseGenerateTransform | 生成两个数据库之间的差异的转换文件。 |
MsiDatabaseImport | 将安装程序文本存档表导入到打开的数据库。 |
MsiDatabaseMerge | 将两个数据库合并到一起。 |
MsiGetDatabaseState | 返回数据库的状态。 |
记录处理函数
函数 | 说明 |
---|---|
MsiCreateRecord | 创建包含指定数量的字段的新记录对象。 |
MsiFormatRecord | 使用格式字符串设置记录字段数据和属性的格式。 |
MsiRecordClearData | 将记录中的所有字段设置为 null。 |
MsiRecordDataSize | 返回记录字段的长度。 |
MsiRecordGetFieldCount | 返回记录中的字段数。 |
MsiRecordGetInteger | 返回记录字段中的整数值。 |
MsiRecordGetString | 返回记录字段的字符串值。 |
MsiRecordIsNull | 报告记录字段是否为 null。 |
MsiRecordReadStream | 将记录流字段中的字节读入缓冲区。 |
MsiRecordSetInteger | 将记录字段设置为整数字段。 |
MsiRecordSetStream | 设置文件中的记录流字段。 |
MsiRecordSetString | 将字符串复制到指定的字段中。 |
摘要信息属性函数
函数 | 说明 |
---|---|
MsiGetSummaryInformation | 获取安装程序数据库的摘要信息流的句柄。 |
MsiSummaryInfoGetProperty | 从摘要信息中获取单个属性。 |
MsiSummaryInfoGetPropertyCount | 返回摘要信息流中的属性数。 |
MsiSummaryInfoPersist | 将已更改的摘要信息写回到摘要信息流。 |
MsiSummaryInfoSetProperty | 设置单个摘要信息属性。 |
安装程序状态访问函数
函数 | 说明 |
---|---|
MsiGetLanguage | 返回当前安装的数字语言。 |
MsiGetLastErrorRecord | 返回上次为调用进程返回的错误记录。 |
MsiGetMode | 返回布尔内部安装状态之一。 |
MsiGetProperty | 获取安装程序属性的值。 |
MsiSetProperty | 设置安装属性的值。 |
MsiSetMode | 设置内部引擎布尔状态。 |
安装程序操作函数
函数 | 说明 |
---|---|
MsiDoAction | 执行内置操作、自定义操作或用户界面向导操作。 |
MsiEvaluateCondition | 计算包含属性名称和值的条件表达式。 |
MsiProcessMessage | 将错误记录发送到安装程序进行处理。 |
MsiSequence | 执行操作序列。 |
安装程序位置函数
函数 | 说明 |
---|---|
MsiGetSourcePath | 返回 Directory 表中文件夹的完整源路径。 |
MsiGetTargetPath | 返回 Directory 表中文件夹的完整目标路径。 |
MsiSetTargetPath | 设置 Directory 表中文件夹的完整目标路径。 |
安装程序选择函数
函数 | 说明 |
---|---|
MsiEnumComponentCosts | 枚举安装某个组件所需的每个驱动器的磁盘空间。 |
MsiGetComponentState | 获取组件的状态。 |
MsiGetFeatureCost | 返回功能所需的磁盘空间。 |
MsiGetFeatureState | 获取功能的状态。 |
MsiGetFeatureValidStates | 返回有效的安装状态。 |
MsiSetComponentState | 将组件设置为指定状态。 |
MsiSetFeatureAttributes | 在运行时修改功能的默认属性。 |
MsiSetFeatureState | 将功能设置为指定状态。 |
MsiSetInstallLevel | 设置完整产品安装的安装级别。 |
MsiVerifyDiskSpace | 检查是否有足够的磁盘空间。 |
用户界面函数
函数 | 说明 |
---|---|
MsiEnableUIPreview | 启用用户界面的预览模式。 |
MsiPreviewBillboard | 在显示的对话框中显示包含主机控件的标牌。 |
MsiPreviewDialog | 以无模式和非活动状态显示对话框。 |
所有函数都支持 ANSI 和 Unicode 调用。 若要使用这些函数,请包含 MsiQuery.h 并与 Msi.lib 链接。
安装函数
除了上面列出的数据库访问函数之外,还可以使用安装程序函数参考部分中列出的安装程序函数来为应用程序创建安装包。