Installer.ProvideComponent 方法

Installer 对象的 ProvideComponent 方法会返回完整的组件路径并执行任何必要的安装。 如有必要,Installer 对象的 ProvideComponent 方法会提示输入源并递增该功能的使用计数。

语法

Installer.ProvideComponent(
  Product,
  Feature,
  Component,
  InstallMode
)

参数

Product

指定产品的产品代码。

功能

指定包含组件的功能的功能 ID。

组件

指定组件代码。

InstallMode

定义安装模式。 此参数可以是下表中显示的值之一。

名称 含义
msiInstallModeDefault
0
提供组件路径,并在必要时执行任何安装。
msiInstallModeExisting
–1
只有在功能存在时才提供组件路径,否则返回一个空字符串。 此模式验证组件的密钥文件是否存在。
msiInstallModeNoDetection
–2
仅当功能存在时才提供组件路径。 否则返回空字符串。 此模式检查组件的注册,但不验证组件的密钥文件是否存在。
msiInstallModeNoSourceResolution
–3
只有在该功能存在且 InstallState 参数为 msiInstallStateLocal 时才提供组件路径。 它检查组件的注册情况,但不验证组件的密钥文件是否存在。
msiReinstallMode 标志的组合
使用此参数作为 ReinstallMode 参数调用 ReinstallFeature 以重新安装该功能,然后提供组件。

 

返回值

此方法不返回值。

备注

ProvideComponent 方法结合了 UseFeatureConfigureFeatureComponentPath 的功能。 ProvideComponent 方法简化了调用顺序,但也会导致使用计数递增,应谨慎使用,以防止使用计数不准确。 ProvideComponent 方法的灵活性也低于对前面提到的方法和属性的一系列单独调用。

如果应用程序正在从意外情况中恢复,则表明应用程序可能已调用 UseFeature 并导致使用计数递增。 在这种情况下,应用程序应避免通过调用 ConfigureFeature 方法而非 ProvideComponent 方法来使使用计数递增。

msiInstallModeExisting 选项不能与 msiReinstallMode 标志结合使用。

要求

要求
版本
Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer
DLL
Msi.dll
IID
IID_IInstaller 定义为 000C1090-0000-0000-C000-000000000046

另请参阅

MsiProvideComponent