修补初始安装

首次使用 PATCH 属性安装应用程序时,可以应用 Windows Installer 修补程序 (MSP)。

若要在首次安装应用程序时应用修补程序,必须在命令行上设置 PATCH 属性。 在命令行上将修补程序的完整路径指定为“PATCH={path to patch}”属性-值对。

请注意,在命令行上指定 PATCH 属性将替代使用 MsiApplyPatch 或 /p 命令行选项时执行的修补程序适用性检查。

如果使用 MsiApplyPatch 或 /p 命令行选项应用修补程序,安装程序会将计算机上当前安装的应用程序与模板摘要属性中有资格接收修补程序的产品代码列表进行比较。

在命令行上设置 PATCH 属性以在第一次安装时安装时,有资格接收修补程序的应用程序取决于修补程序包中嵌入的转换的验证条件。 生成修补程序包的建议方法是,使用修补程序创建工具,如 Msimsp.exePATCHWIZ.DLL。 修补程序中转换时的验证条件源自 Patch Creation Properties (.pcp) 文件的 TargetImages 表中的 ProductValidateFlags 列。

首次通过命令行、另一个应用程序或脚本安装应用程序时,可以应用修补程序。

下面显示了使用命令行进行的首次修补。

msiexec /Ipackage.msiPATCH="c:\directory\patch.msp"

下面显示了从另一个应用程序进行的首次修补。

UINT uiStat = MsiInstallProduct(_T("package.msi"), _T("PATCH=c:\directory\patch.msp"));

下面显示了使用脚本进行的首次修补。

Dim Installer as Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "package.msi", "PATCH=c:\directory\patch.msp"

**Windows Installer 3.0 及更高版本:**

从 Windows Installer 版本 3.0 开始,首次安装应用程序时可以应用多个修补程序。 将 PATCH 属性设置为修补程序的完整路径(由分号分隔的列表)。 下面显示了使用命令行进行的对多个修补程序的首次修补。

msiexec /Ipackage.msiPATCH="c:\directory\patch.msp;c:\directory\patch2.msp;c:\directory\patch3.msp"