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