安装程序函数参考
若要在应用程序中启用 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 函数外,还可以使用数据库函数部分所述的数据库访问函数来操作安装数据库中的信息。
安装程序结构
此外,安装数据库中的某些信息是使用安装程序结构部分中所述的结构来处理的。