PATCH 屬性
安裝程式會將 PATCH 屬性設定為 MsiApplyPatch、MsiApplyMultiplePatches 或 /p 命令行選項所套用的修補程序清單。 您也可以在使用 MsiInstallProduct 或 /i 命令行選項安裝套件時,在命令行上設定 PATCH 属性。
PATCH 屬性的值是所安裝的修補程式清單。 清單中的每個修補程式都會以修補程式套件的完整路徑來表示 (.msp 檔案.)清單中的完整路徑會以分號分隔。
Windows Installer 2.0:不支援 多個修補程式。 需要 Windows Installer 3.0 才能套用多個修補程式。
言論
如果您使用 Msimsp.exe 和 Patchwiz.dll 建立修補程式套件,則可以指定只有在套用特定修補程式時,才會執行動作或對話方塊。 當您建立修補程式套件,例如test.msp時,您會撰寫產品的升級映像和修補程式建立屬性檔案。 撰寫修補程式建立屬性檔案時,您可以在 imageFamilies 數據表的 MediaSrcPropName 字段中輸入屬性名稱,例如 PATCHFORTEST。 當您撰寫產品已升級映像的時序表時,您可以在序列資料表的 [條件] 資料行中包含您想要設定條件的動作或對話框的條件語句。
例如,只有在套用test.msp時,才可以使用下列條件語句來執行動作或對話框。
- PATCH 和 PATCHFORTEST 和 PATCH >< PATCHFORTEST
注意
因為 PATCH 屬性可以包含多個修補程式,請使用子字串運算符 「><」 來測試特定修補程式是否存在,而不是等號運算子 」=” 如需條件語句的詳細資訊,請參閱 條件語句語法 一節。
如果您套用包含 test.msp 的修補程式清單,安裝程式會設定這兩個屬性。 例如,您可以使用 /p 命令行選項 來套用兩個修補程序的清單。
msiexec /qb /p \\scratch\scratch\XYZ\Patchs\test.msp;\scratch\scratch\XYZ\bar.msp
安裝程式會設定 PATCH 和 PATCHFORTEST 屬性,如下所示。
- PATCH=\\\scratch\\scratch\\XYZ\\Patchs\\test.msp;\scratch\\XYZ\\bar.msp PATCHFORTEST=\\scratch\\scratch\\XYZ\\Patchs\\test.msp
在此情況下,條件為 TRUE,而且上述條件動作或對話框可以針對要安裝的每個修補程式、test.msp 和 bar.msp 執行。
如果未套用test.msp,安裝程式就不會將它包含在 PATCH 屬性中,也不會設定 PATCHFORTEST。 在此情況下,上述條件為 FALSE,且條件動作或對話框不會執行。
要求
要求 | 價值 |
---|---|
版本 |
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。 如需 Windows Installer 版本所需的最低 Windows Service Pack 相關信息,請參閱 Windows Installer Run-Time 需求。 |
另請參閱