使用自動化將合併模組合併至資料庫
合併模組 提供標準方法,讓您將共用的 Windows Installer 元件和設定邏輯傳遞給應用程式。
合併模組必須使用合併工具合併到安裝套件中。 最佳做法是取得免費散發的合併工具,或購買獨立軟體廠商提供的其中一個合併工具,例如,您可以使用 Mergemod.dll。
下列程式示範如何使用合併 模組自動化,將合併模組合併至 Windows Installer 資料庫。
將模組合併至資料庫
使用 OpenLog 方法開啟記錄檔。
只有在您需要建立記錄檔,或為合併程式附加現有的記錄檔時,才需要此步驟。
使用Merge 物件的OpenDatabase方法開啟.msi安裝資料庫。
這是必要步驟。
您開啟的資料庫是您想要接收合併模組的資料庫。
使用OpenModule方法開啟.msm合併模組。
這是必要步驟。
這是合併至資料庫的合併模組。 必須先開啟模組,才能與安裝資料庫合併。
呼叫 Merge 方法或 MergeEx 方法,將模組合併至安裝資料庫。
這是必要步驟。
Merge方法或MergeEx方法只能呼叫一次,以合併.msi和 .msm 檔案的特定組合。
注意
MergeEx方法僅適用于Mergemod.dll 2.0版或更新版本,而且只有在使用IMsmMerge2介面時才可使用。
擷取 Errors 屬性,並檢查它針對合併衝突或其他錯誤所傳回的 Error 物件集合。
您必須解決任何錯誤。
擷取是非破壞性的,而且可以重複讀取 Errors 屬性來擷取錯誤集合的多個實例。
使用 Connect 方法,將合併模組的元件與功能產生關聯。
只有在您有現有的功能,而且想要新增功能以合併至安裝資料庫時,才需要此步驟。
呼叫此方法之前,必須先有功能存在。 如需詳細資訊,請參閱 將合併模組連線到多個功能。
如有必要,請執行下列一或多個動作,從模組擷取原始程式檔:
使用 ExtractFiles 或 ExtractFilesEx 從內嵌.cab檔案擷取檔案,然後複製到指定的目錄中。
注意
ExtractFilesEx 需要 Mergemod.dll 2.0 版或更新版本。
使用 ExtractCAB 從內嵌.cab檔案擷取檔案,然後儲存在指定的檔案中。
使用 CreateSourceImage 從模組擷取檔案,然後在合併之後,複製到磁片上的來源映射。
注意
CreateSourceImage 僅適用于 Mergemod.dll 2.0 版或更新版本。
使用 CloseModule 方法關閉 目前的開啟合併模組。
這是必要步驟。
使用 CloseDatabase 方法關閉開啟的安裝資料庫。
這是必要步驟。
關閉資料庫會清除所有相依性資訊,但不會影響未擷取的任何錯誤。
使用 CloseLog 方法關閉目前的記錄檔。
如果您有開啟的記錄檔,則需要此步驟。
使用 Mergemod.dll將模組合併至資料庫之後,媒體 資料表 必須更新,才能描述所需的來源影像配置。 Mergemod.dll提供的合併程式不會更新媒體資料表,因為合併模組的取用者可以選取各種配置來源影像的方式。
相關主題