Installer.ApplyPatch 方法

对于补丁包所列出的有资格接收补丁的每个产品,Installer 对象的 ApplyPatch 方法调用安装并将 PATCH 属性设置为补丁包的路径。

语法

Installer.ApplyPatch(
  PatchPackage,
  InstallPackage,
  InstallType,
  CommandLine
)

参数

PatchPackage

指定修补程序包的路径。

InstallPackage

如果 InstallType 设置为 msiInstallTypeNetworkImage,则 InstallPackage 将指定要修补的产品的路径。 如果 InstallType 设置为 msiInstallTypeDefault 并且 InstallPackage 设置为 0,则安装程序会将修补程序应用于修补程序包中列出的每个符合条件的产品。

如果 InstallType 为 msiInstallTypeSingleInstance,安装程序会将修补程序应用于 InstallPackage 指定的产品。 在这种情况下,将忽略修补程序包中列出的其他合格产品,并且 InstallPackage 参数包含以 NULL 结尾的字符串,表示要修补的实例的产品代码。 这种类型的安装需要 Windows Server 2003 或更高版本或 Windows Installer XP SP1 或更高版本附带的 Windows Installer 版本。

InstallType

此参数指定要修补的安装类型。 如果省略 InstallPackage,则忽略 InstallType 参数。

含义
msiInstallTypeNetworkImage
指示管理员安装。 在这种情况下,必须将 InstallPackage 设置为包路径。 如果 MsiInstallTypeNetworkImage 的值为 1,则指定管理员安装。
msiInstallTypeDefault
在系统中搜索要修补的产品。 在这种情况下,InstallPackage 必须是空字符串。
msiInstallSingleInstance
修补由 InstallPackage 指定的产品。 InstallPackage 是要修补的实例的产品代码。 这种类型的安装需要 Windows Server 2003 或更高版本或 Windows Installer XP SP1 或更高版本附带的 Windows Installer 版本。 有关详细信息,请参阅安装产品和修补程序的多个实例

 

CommandLine

指定在命令行上设置的属性设置。 请参见“备注”部分。

返回值

此方法不返回值。

备注

因为变换、源和面片的列表分隔符是分号,所以不能将此字符用于文件名或路径。

应用小型更新次要升级修补程序时,必须提供 REINSTALL 属性。 如果没有此属性,将在系统上注册修补程序,但无法更新文件。

Windows Installer 2.0:应用小型更新次要升级修补程序时,必须在命令行上设置 REINSTALL 属性。 对于未使用自定义操作类型 51 来自动设置 REINSTALL 和 REINSTALLMODE 属性的修补程序,必须使用 CommandLine 参数显式设置 RESTALL 属性。 设置 REINSTALL 属性以列出受修补程序影响的功能,或使用实际的默认设置“REINSTALL=ALL”。 REINSTALLMODE 属性的默认值是“omus”。

Windows Installer 3.0 和更高版本:从 Windows Installer 3.0 版本开始,REINSTALL 属性由安装程序配置,不需要在命令行上设置。

要求

要求
版本
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 3.0 或更高版本。
DLL
Msi.dll
IID
IID_IInstaller 定义为 000C1090-0000-0000-C000-000000000046

另请参阅

MsiApplyPatch

关于属性

在 Windows Installer 2.0 及更早版本中不受支持