安装程序函数参考

若要在应用程序中启用 Windows Installer,必须使用安装程序函数。 本主题中的表按类别标识函数。

用户界面和日志记录函数

名称 说明
MsiSetInternalUI 启用安装程序的内部用户界面。
MsiSetExternalUI 启用以字符串格式接收消息的外部用户界面处理程序。
MsiSetExternalUIRecord 启用以记录格式接收消息的外部用户界面处理程序。
MsiEnableLog 设置调用过程中所有安装的日志模式。

 

句柄管理函数

名称 说明
MsiCloseHandle 关闭打开的安装句柄。
MsiCloseAllHandles 关闭所有打开的安装句柄。 请勿用于清理。

 

安装和配置函数

名称 说明
MsiAdvertiseProduct 播发产品。
MsiAdvertiseProductEx 播发产品。
MsiAdvertiseScript 将播发脚本文件复制到指定位置。
MsiInstallProduct 安装或移除应用程序或应用程序套件。
MsiConfigureProduct 安装或移除应用程序或应用程序套件。
MsiConfigureProductEx 安装或移除应用程序或应用程序套件。 可以指定产品命令行。
MsiReinstallProduct 重新安装或修复安装。
MsiConfigureFeature 配置功能的安装状态。
MsiReinstallFeature 验证或修复功能。
MsiInstallMissingComponent 安装缺少的组件。
MsiInstallMissingFile 安装缺少的文件。
MsiNotifySidChange 通知 Windows Installer 内部信息并通过对用户 SID 的更改进行更新。 从 Windows Installer 3.1 开始提供。
MsiProcessAdvertiseScript 将播发脚本文件处理到指定位置。
MsiSourceListAddSource 在指定上下文中添加或重新排序补丁或产品的源。
MsiSourceListAddSourceEx 在指定上下文中添加或重新排序补丁或产品的源。 在指定上下文中为不存在的补丁创建源列表。 在 Windows Installer 3.0 中提供。
MsiSourceListClearSource 在指定上下文中移除产品或补丁的现有源。 在 Windows Installer 3.0 中提供。
MsiSourceListClearAll 移除指定产品实例的特定源类型的所有现有源。
MsiSourceListClearAllEx 移除指定产品实例的特定源类型的所有现有源。 在 Windows Installer 3.0 中提供。
MsiSourceListForceResolution 移除产品或补丁的当前源的注册,该源注册为属性“LastUsedSource”。 此函数不影响已注册的源列表。
MsiSourceListForceResolutionEx 移除产品或补丁的当前源的注册,该源注册为属性“LastUsedSource”。 此函数不影响已注册的源列表。 在 Windows Installer 3.0 中提供。
MsiSourceListGetInfo 在特定上下文中检索有关产品或补丁的源列表的信息。
MsiSourceListSetInfo 在指定上下文中为产品或修补程序设置最近使用的源。 在 Windows Installer 3.0 中提供。
MsiSourceListEnumMediaDisks 枚举为补丁或产品的媒体源注册的磁盘列表。 在 Windows Installer 3.0 中提供。
MsiSourceListAddMediaDisk 添加或更新已注册产品或补丁的媒体源的磁盘。 在 Windows Installer 3.0 中提供。
MsiSourceListClearMediaDisk 在特定上下文中移除产品或补丁的媒体源下的现有已注册磁盘。 在 Windows Installer 3.0 中提供。
MsiSourceListEnumSources 枚举指定补丁或产品的源列表中的源。 在 Windows Installer 3.0 中提供。

 

特定于组件的函数

名称 说明
MsiProvideAssembly 安装程序集并返回其完整组件路径。
MsiProvideComponent 安装组件并返回其完整组件路径。
MsiProvideQualifiedComponent 安装合格组件并返回其完整组件路径。
MsiProvideQualifiedComponentEx 安装由产品发布的合格组件并返回其完整组件路径。
MsiGetComponentPath 返回已安装组件的完整路径或注册表项。
MsiGetComponentPathEx 跨用户帐户和安装上下文返回已安装组件的完整路径或注册表项。 Windows Installer 4.5 及更低版本:不支持。
MsiLocateComponent 返回不带产品代码的已安装组件的完整路径。
MsiQueryComponentState 返回组件的安装状态。 可以查询安装在当前用户以外的用户帐户下的产品实例的组件。 在 Windows Installer 3.0 或更高版本中提供。

 

仅限应用程序的函数

名称 说明
MsiCollectUserInfo 存储安装向导中的用户信息。
MsiUseFeature 递增功能的使用情况计数,并指示安装状态。
MsiUseFeatureEx 递增功能的使用情况计数,并指示安装状态。
MsiGetProductCode 使用组件代码返回产品代码。

 

系统状态函数

名称 说明
MsiEnumProducts 枚举播发的产品。
MsiEnumProductsEx 在指定上下文中枚举播发或已安装产品的所有实例。 在 Windows Installer 3.0 或更高版本中提供。
MsiEnumRelatedProducts 枚举具有指定升级代码的当前安装的产品。
MsiEnumFeatures 枚举已发布的功能。
MsiEnumComponents 枚举已安装的组件。
MsiEnumComponentsEx 跨用户帐户和安装上下文枚举已安装的组件。 Windows Installer 4.5 及更低版本:不支持。
MsiEnumClients 枚举已安装组件的客户端。
MsiEnumClientsEx 跨用户帐户和安装上下文枚举已安装组件的客户端。 Windows Installer 4.5 及更低版本:不支持。
MsiEnumComponentQualifiers 枚举组件的已播发限定符。
MsiQueryFeatureState 返回功能的安装状态。
MsiQueryFeatureStateEx 返回产品功能的安装状态。 可以查询安装在当前用户以外的用户帐户下的产品实例的功能。 在 Windows Installer 3.0 或更高版本中提供。
MsiQueryProductState 返回应用程序或应用程序套件的安装状态。
MsiGetFeatureUsage 返回功能的使用情况指标。
MsiGetProductInfo 返回已发布和已安装产品的产品信息。
MsiGetProductInfoEx 返回已播发和已安装产品的产品信息。 可以检索在当前用户以外的用户帐户下安装的产品实例的信息。 在 Windows Installer 3.0 或更高版本中提供。
MsiGetUserInfo 返回已安装产品的注册用户信息。

 

产品查询函数

名称 说明
MsiOpenProduct 打开要与访问数据库的函数一起使用的产品。
MsiOpenPackage 打开要与访问数据库的函数一起使用的包。
MsiOpenPackageEx 打开要与访问数据库的函数一起使用的包。
MsiIsProductElevated 检查是否使用提升的权限安装产品。
MsiGetProductInfoFromScript 返回安装程序脚本文件的产品信息。
MsiGetProductProperty 检索产品数据库中的属性。
MsiGetShortcutTarget 检查快捷方式并返回其产品、功能名称和组件(如果可用)。
MsiGetFeatureInfo 返回功能的描述性信息。
MsiVerifyPackage 验证指定的文件是否为安装包。

 

修补函数

名称 说明
MsiApplyPatch 调用安装并应用补丁包。
MsiEnumPatches 返回应用于产品的每个补丁的 GUID,以及应用于产品的每个补丁的转换列表。
MsiGetPatchInfo 返回有关补丁的信息。
MsiRemovePatches 从产品中卸载补丁。 在 Windows Installer 3.0 中提供。
MsiDeterminePatchSequence 为一个补丁集和产品确定最佳应用程序序列。 在 Windows Installer 3.0 中提供。
MsiApplyMultiplePatches 将一个或多个补丁应用到产品。 在 Windows Installer 3.0 中提供。
MsiEnumPatchesEx 在特定上下文中或跨所有上下文枚举应用到产品的所有补丁。 在 Windows Installer 3.0 中提供。
MsiGetPatchFileList 当提供 .msp 文件列表时,此函数将检索可通过目标的补丁更新的文件列表。 在 Windows Installer 4.0 中提供。
MsiGetPatchInfoEx 查询有关将指定补丁应用到指定产品的信息。 在 Windows Installer 3.0 中提供。
MsiExtractPatchXMLData 从补丁中提取信息。 在 Windows Installer 3.0 中提供。
MsiDetermineApplicablePatches 确定更新产品或产品集所需的最佳补丁集。 在 Windows Installer 3.0 中提供。

 

文件查询函数

名称 说明
MsiGetFileHash 获取文件的路径,并返回该文件的 128 位哈希。
MsiGetFileSignatureInformation 获取已进行数字签名的文件的路径,并返回该文件的签名者证书和哈希。
MsiGetFileVersion 返回版本字符串和语言字符串。

 

事务管理函数

名称 说明
MsiBeginTransaction 启动多包安装的事务处理,并返回事务的标识符。 此函数从 Windows Installer 4.5 开始提供。
MsiJoinTransaction 请求 Windows Installer 使当前进程成为安装多包安装的事务的所有者。 此函数从 Windows Installer 4.5 开始提供。
MsiEndTransaction 提交或回滚属于事务的所有安装。 此函数从 Windows Installer 4.5 开始提供。

 

数据库函数

除了前面表中所列的 Windows Installer 函数外,还可以使用数据库函数部分所述的数据库访问函数来操作安装数据库中的信息。

安装程序结构

此外,安装数据库中的某些信息是使用安装程序结构部分中所述的结构来处理的。