Método IMsmMerge::OpenModule (mergemod.h)
El método OpenModule abre un módulo de combinación de Windows Installer en modo de solo lectura. Se debe abrir un módulo para poder combinarlo con una base de datos de instalación. Para obtener más información, vea el método OpenModule del objeto Merge .
IMsmMerge2::OpenModule Mergemod.dll versión 2.0 y posteriores.
Sintaxis
HRESULT OpenModule(
[in] const BSTR Path,
[in] const short Language
);
Parámetros
[in] Path
Nombre de archivo completo que apunta a un módulo de combinación. Se puede usar un LPCWSTR en lugar de un BSTR.
[in] Language
Un identificador de idioma (LANGID).
Valor devuelto
La función OpenModule devuelve los valores siguientes.
Valor | Significado |
---|---|
|
El archivo especificado es una base de datos de Windows Installer, pero no es un módulo de combinación (falta la tabla ModuleSignature). |
|
El módulo no admite el idioma. |
|
El módulo admite el idioma, pero se produjo un error al aplicar la transformación. |
|
No se pudo abrir el archivo como base de datos de Windows Installer. |
|
Ya hay un módulo abierto. Cierra primero el módulo actual. |
|
La función se ha realizado correctamente. |
Comentarios
Esta función abre el módulo de combinación en modo de solo lectura (MSIDBOPEN_READONLY) y excluye otros programas de escritura en el módulo de combinación hasta que se llame a la función CloseModule . Se debe abrir un módulo de combinación para poder combinarlo.
El instalador intenta abrir el módulo en el idioma especificado por Language o en cualquier idioma más general. Por ejemplo, si el valor idioma especifica 1033, se abre un módulo con un idioma predeterminado de 1033, 9 o 0 en su idioma predeterminado. Si el valor de Language es 9, los módulos se abren con los idiomas predeterminados 9 o 0. Si el idioma predeterminado del módulo no cumple los requisitos especificados, se intenta transformar el módulo en el idioma solicitado. Si se produce un error, el instalador intenta transformar el módulo en idiomas cada vez más generales, todo el camino hacia el idioma neutro. Si ninguna de las transformaciones se realiza correctamente, el módulo no se abre. En este caso, se agrega un error a la lista de errores de tipo msmErrorLanguageUnsupported y la función devuelve ERROR_INSTALL_LANGUAGE_UNSUPPORTED como HRESULT.
Si se produce un error al transformar el módulo en el idioma deseado, se crea un error de tipo msmErrorLanguageFailed y la función devuelve ERROR_INSTALL_TRANSFORM_FAILURE como HRESULT.
Para obtener más información, vea la propiedad Type del objeto Error .
Al abrir un módulo de combinación se borran los errores que aún no se han recuperado.
Requisitos
Cliente mínimo compatible | Mergemod.dll 1.0 o posterior |
Plataforma de destino | Windows |
Encabezado | mergemod.h |
Archivo DLL | Mergemod.dll |