建立修補程式套件

開發人員藉由產生修補程式建立檔案,並使用Msimsp.exePatchwiz.dll中呼叫UiCreatePatchPackageEx 函式來建立修補程式套件。 Windows Installer SDK 中提供Msimsp.exe和Patchwiz.dll。 如需詳細資訊,請參閱 小型更新修補範例

由於將修補程式套用至 Windows Installer 套件會導致使用新的.msi檔案安裝原始來源,因此新的.msi檔案必須與原始來源的配置保持相容。

當您撰寫修補程式套件時,必須使用未壓縮的安裝映射來建立修補程式,例如,系統管理映射或 CD-ROM 中的未壓縮安裝映射。 您也必須遵守下列限制:

  • 請勿將檔案從一個資料夾移到另一個資料夾。

  • 請勿將檔案從一個封包移到另一個封包。

  • 請勿變更封包中的檔案順序。

  • 請勿變更現有檔案的序號。 序號是在 [檔案資料表] 的 [序列] 資料行中指定的值。

  • 修補程式新增的任何新檔案都必須放在現有檔案序列的結尾。 升級映射中任何新檔案的序號必須大於目標映射中現有檔案的最大序號。

  • 請勿在原始與新的.msi檔案版本之間變更 [檔案資料表 ] 中的主鍵。

    注意

    檔案在目標映射和更新映射的 [ 檔案資料表 ] 中必須有相同的索引鍵。 這兩個數據表之 [檔案] 資料行中的字串值必須相同,包括大小寫。

     

  • 請勿使用檔案 資料表 索引鍵來撰寫套件,例如,請避免使用下表範例。

    檔案 元件_ FileName
    readme.txt Comp1 readme.txt
    ReadMe.txt Comp2 readme.txt

     

    當 Comp1 和 Comp2 安裝在不同的目錄中時,Windows Installer 可以允許上一個表格範例,但您無法使用 Msimsp.exePatchwiz.dll 來產生套件的修補程式。 Msimsp.exe和Patchwiz.dll呼叫Makecab.exe,這不區分大小寫且失敗。

    在安裝程式中使用合併模組時,請確定檔案序號和配置遵守上述指導方針。