IMsmMerge::OpenModule 方法 (mergemod.h)
OpenModule方法會以唯讀模式開啟 Windows Installer 合併模組。 必須先開啟模組,才能與安裝資料庫合併。 如需詳細資訊,請參閱Merge物件的OpenModule方法。
IMsmMerge2::OpenModule Mergemod.dll 2.0 版和更新版本。
語法
HRESULT OpenModule(
[in] const BSTR Path,
[in] const short Language
);
參數
[in] Path
指向合併模組的完整檔案名。 LPCWSTR可用來取代BSTR。
[in] Language
語言識別項 (LANGID) 。
傳回值
OpenModule函式會傳回下列值。
值 | 意義 |
---|---|
|
指定的檔案是 Windows Installer 資料庫,但不是合併模組, (遺漏 ModuleSignature 資料表) 。 |
|
模組不支援語言。 |
|
模組支援語言,但套用轉換時發生錯誤。 |
|
檔案無法以 Windows Installer 資料庫的形式開啟。 |
|
模組已經開啟。 先關閉目前的模組。 |
|
此函數已成功。 |
備註
此函式會在唯讀模式中開啟合併模組 (MSIDBOPEN_READONLY) ,並排除其他程式寫入合併模組,直到呼叫 CloseModule 函式為止。 必須先開啟合併模組,才能進行合併。
安裝程式會嘗試以 Language 所指定的語言或更一般語言開啟模組。 例如,如果 語言值指定 了 1033,則預設語言為 1033、9 或 0 的模組會以其預設語言開啟。 語言值 9 會開啟預設語言為 9 或 0 的模組。 如果模組的預設語言不符合指定的需求,則會嘗試將模組轉換成要求的語言。 如果失敗,安裝程式會嘗試將模組轉換成逐漸一般語言,以語言中性的方式。 如果沒有任何轉換成功,模組將無法開啟。 在此情況下,錯誤會新增至 msmErrorLanguageUnsupported 類型的錯誤清單,而函式會以 HRESULT 的形式傳回ERROR_INSTALL_LANGUAGE_UNSUPPORTED。
如果模組轉換成所需的語言時發生錯誤,則會建立錯誤類型 msmErrorLanguageFailed,而函式會以 HRESULT 傳回ERROR_INSTALL_TRANSFORM_FAILURE。
開啟合併模組會清除尚未擷取的任何錯誤。
需求
最低支援的用戶端 | Mergemod.dll 1.0 或更新版本 |
目標平台 | Windows |
標頭 | mergemod.h |
Dll | Mergemod.dll |