Installer 函数参考
若要在应用程序中启用 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 中可用。 |
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 Installer 使当前进程成为安装多包安装的事务的所有者。 从 Windows Installer 4.5 开始,此函数可用。 |
MsiEndTransaction | 提交或回滚属于事务的所有安装。 从 Windows Installer 4.5 开始,此函数可用。 |
数据库函数
除了前面表中标识的 Windows Installer 函数之外,还可以使用 数据库函数 部分中介绍的数据库访问函数来作安装数据库中的信息。
安装程序结构
此外,安装数据库中的一些信息是使用 安装程序结构 部分中所述的结构进行处理的。