建立修補程式套件

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

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

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

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

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

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

  • 請勿變更現有檔案的序號。 序號是 File Table之 Sequence 資料行中指定的值。

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

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

    注意

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

     

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

    檔案 Component_ FileName
    readme.txt Comp1 readme.txt
    ReadMe.txt Comp2 readme.txt

     

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

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