安装缺失组件

可以使用 Windows Installer 检测缺失的组件或文件,然后重新安装包含缺失组件的功能。 因为安装程序安装的是功能而不是组件,所以它必须首先解决缺失文件属于哪个组件的问题,然后安装包含该组件的功能。 如果多个功能关联到该组件,安装程序会安装需要最少磁盘空间的功能。

如果调用 MsiGetComponentPath,则可以验证组件的密钥文件是否存在。 但是,仍可能缺少属于该组件的其他文件。 在该情况下,请调用 MsiInstallMissingFile。 这样安装程序就解决了文件属于哪个组件的问题,开始安装关联到需要最少磁盘空间的组件的功能。

如果 MsiGetComponentPath 函数意外失败,则必须安装任何缺失组件。

以下过程演示如何安装缺失组件。

检测并安装缺失组件

  1. 调用 MsiGetComponentPath,以验证组件的密钥文件是否存在。 但是,即使存在组件的密钥文件,也仍可能缺少属于该组件的其他文件。
  2. 如果与组件关联的功能未知,则调用 MsiInstallMissingComponent 函数。
  3. 如果与组件关联的功能是已知的,则调用 MsiConfigureFeatureMsiProvideComponent 函数。
  4. 如果应用程序无法打开文件,请调用 MsiInstallMissingFile