共用方式為


使用 API 將合併模組合併至資料庫

合併模組 提供標準方法,讓開發人員將共用的 Windows Installer 元件 和安裝邏輯傳遞給其應用程式。 合併模組必須使用合併工具合併到安裝套件中。 最佳替代方法是取得自由散發的合併工具,或購買獨立軟體廠商提供的其中一個合併工具。 例如,您可以使用 Mergemod.dll所提供的功能。

依照順序使用下列步驟,將合併模組合併至 Windows Installer 安裝資料庫,方法是由 Mergemod.dll的 API。

將合併模組合併至 Windows Installer 安裝資料庫

  1. 使用 OpenLog開啟記錄檔。 只有在您需要為合併程式建立記錄檔或附加現有記錄檔時,才需要此步驟。

  2. 開啟安裝資料庫, 這是.msi檔案,將會使用 OpenDatabase接收合併模組。 這是必要步驟。

  3. 使用OpenModule開啟合併模組.msm 檔案,該檔案會合並到資料庫中。 必須先開啟模組,才能與安裝資料庫合併。 這是必要步驟。

  4. 使用Merge 或 MergeEx將模組合併至安裝資料庫。 請注意, MergeMergeEx 只能呼叫一次,以合併.msi和 .msm 檔案的特定組合。 只有在使用Mergemod.dll 2.0版或更新版本時,以及只有在使用IMsmMerge2介面時,才能使用MergeEx。 這是必要步驟。

  5. 呼叫 get_Errors ,並檢查擷取的錯誤集合是否有合併衝突或其他錯誤。 擷取是非破壞性的。 重複讀取呼叫 get_Errors,即可擷取錯誤集合的多個實例。 您必須視情況解決任何錯誤。

  6. 將合併模組的元件與已使用 Connect合併至安裝資料庫的任何其他功能建立關聯。 呼叫這個方法之前,此功能必須已經存在。 只有當您有其他功能時,才需要此步驟,如需詳細資訊,請參閱 將合併模組連接到多個功能

  7. 如有必要,請執行下列一或多個動作,從模組擷取原始程式檔。

    若要從內嵌.cab檔案擷取檔案,然後複製到指定的目錄,請使用ExtractFiles 或 ExtractFilesEx 請注意, ExtractFilesEx 需要 Mergemod.dll 2.0 版或更新版本。

    若要從內嵌.cab檔案擷取檔案,然後儲存在指定的檔案中,請使用 ExtractCAB

    若要從模組擷取檔案,然後在合併之後複製到磁片上的來源映射,請使用 CreateSourceImage。 請注意, CreateSourceImage 僅適用于 Mergemod.dll 2.0 版或更新版本。

  8. 使用 CloseModule關閉目前的開啟合併模組。 這是必要步驟。

  9. 使用 CloseDatabase關閉目前的開啟安裝資料庫。 這是必要步驟。 關閉資料庫會清除所有相依性資訊,但不會影響任何尚未擷取的錯誤。

  10. 使用 CloseLog關閉目前的記錄檔。 如果您已開啟記錄檔,則需要此步驟。

使用 Mergemod.dll將模組合併至資料庫之後,必須更新 媒體資料表 來描述所需的來源影像配置。 Mergemod.dll提供的合併程式不會更新媒體資料表,因為合併模組的取用者可以選取各種方式來配置來源影像。