修补初始安装
使用 PATCH 属性首次安装应用程序时,可应用 Windows Installer 补丁 (MSP)。
若要在首次安装应用程序时应用补丁,则须在命令行中设置 PATCH 属性。 在命令行中将补丁的完整路径指定为“PATCH={补丁路径}”属性值对。
请注意,在命令行中指定 PATCH 属性会覆盖使用 MsiApplyPatch 或 /p 命令行选项时执行的补丁适用性检查。
如果使用 MsiApplyPatch 或 /p 命令行选项来应用补丁,安装程序则会将计算机上当前安装的应用程序与可通过 Template Summary 属性来接收此补丁的产品代码列表进行比较。
在命令行中设置 PATCH 属性以进行首次安装时,可接收此补丁的应用程序将由补丁包中嵌入的转换操作的验证条件来确定。 生成补丁包的建议方法是:使用补丁创建工具,如 Msimsp.exe 和 PATCHWIZ.DLL。 补丁中转换操作的验证条件源自补丁创建属性 (.pcp) 文件的 TargetImages 表中的 ProductValidateFlags 列。
通过命令行、其他应用程序或脚本首次安装应用程序时,可应用此补丁。
从命令行进行首次修补的命令如下所示。
msiexec /I package.msi PATCH="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 /I package.msi PATCH="c:\directory\patch.msp;c:\directory\patch2.msp;c:\directory\patch3.msp"