Installer 函数参考

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

用户界面和日志记录函数

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

 

处理管理功能

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

 

安装和配置函数

名称 说明
MsiAdvertiseProduct 播发产品。
MsiAdvertiseProductEx 播发产品。
MsiAdvertiseScript 将播发脚本文件复制到指定位置。
MsiInstallProduct 安装或删除应用程序或应用程序套件。
MsiConfigureProduct 安装或删除应用程序或应用程序套件。
MsiConfigureProductEx 安装或删除应用程序或应用程序套件。 可以指定产品命令行。
MsiReinstallProduct 重新安装或修复安装。
MsiConfigureFeature 配置功能的已安装状态。
MsiReinstallFeature 验证或修复功能。
MsiInstallMissingComponent 安装缺少的组件。
MsiInstallMissingFile 安装缺少的文件。
MsiNotifySidChange 通知并更新Windows安装程序内部信息,并更改用户 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 中提供。

 

Component-Specific函数

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

 

Application-Only函数

名称 说明
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 文件列表时,此函数将检索可由 targe 修补程序更新的文件列表。 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安装程序使当前进程成为安装多包安装的事务的所有者。 此函数从 Windows Installer 4.5 开始可用。
MsiEndTransaction 提交或回滚属于事务的所有安装。 此函数从 Windows Installer 4.5 开始可用。

 

数据库函数

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

安装程序结构

此外,安装数据库中的一些信息使用 “安装程序结构” 部分所述的结构进行处理。