共用方式為


IMsmMerge::OpenModule 方法 (mergemod.h)

OpenModule方法會以唯讀模式開啟 Windows Installer 合併模組。 必須先開啟模組,才能與安裝資料庫合併。 如需詳細資訊,請參閱Merge物件的OpenModule方法。

IMsmMerge2::OpenModule Mergemod.dll 2.0 版和更新版本。

 
IMsmMerge::OpenModule 所有 Mergemod.dll 版本。

語法

HRESULT OpenModule(
  [in] const BSTR  Path,
  [in] const short Language
);

參數

[in] Path

指向合併模組的完整檔案名。 LPCWSTR可用來取代BSTR

[in] Language

語言識別項 (LANGID) 。

傳回值

OpenModule函式會傳回下列值。

意義
E_ABORT
指定的檔案是 Windows Installer 資料庫,但不是合併模組, (遺漏 ModuleSignature 資料表) 。
以 HRESULT ERROR_INSTALL_LANGUAGE_UNSUPPORTED
模組不支援語言。
以 HRESULT 身分ERROR_INSTALL_TRANSFORM_FAILURE
模組支援語言,但套用轉換時發生錯誤。
以 HRESULT ERROR_OPEN_FAILED
檔案無法以 Windows Installer 資料庫的形式開啟。
以 HRESULT ERROR_TOO_MANY_OPEN_FILES
模組已經開啟。 先關閉目前的模組。
S_OK
此函數已成功。

備註

此函式會在唯讀模式中開啟合併模組 (MSIDBOPEN_READONLY) ,並排除其他程式寫入合併模組,直到呼叫 CloseModule 函式為止。 必須先開啟合併模組,才能進行合併。

安裝程式會嘗試以 Language 所指定的語言或更一般語言開啟模組。 例如,如果 語言值指定 了 1033,則預設語言為 1033、9 或 0 的模組會以其預設語言開啟。 語言值 9 會開啟預設語言為 9 或 0 的模組。 如果模組的預設語言不符合指定的需求,則會嘗試將模組轉換成要求的語言。 如果失敗,安裝程式會嘗試將模組轉換成逐漸一般語言,以語言中性的方式。 如果沒有任何轉換成功,模組將無法開啟。 在此情況下,錯誤會新增至 msmErrorLanguageUnsupported 類型的錯誤清單,而函式會以 HRESULT 的形式傳回ERROR_INSTALL_LANGUAGE_UNSUPPORTED。

如果模組轉換成所需的語言時發生錯誤,則會建立錯誤類型 msmErrorLanguageFailed,而函式會以 HRESULT 傳回ERROR_INSTALL_TRANSFORM_FAILURE。

如需詳細資訊,請參閱Error物件的Type屬性。

開啟合併模組會清除尚未擷取的任何錯誤。

需求

   
最低支援的用戶端 Mergemod.dll 1.0 或更新版本
目標平台 Windows
標頭 mergemod.h
Dll Mergemod.dll

另請參閱

合併模組自動化