Compartilhar via


Método IMsmMerge::OpenModule (mergemod.h)

O método OpenModule abre um módulo de mesclagem do Windows Installer no modo somente leitura. Um módulo deve ser aberto antes de ser mesclado com um banco de dados de instalação. Para obter mais informações, consulte o método OpenModule do objeto Merge .

IMsmMerge2::OpenModule Mergemod.dll versão 2.0 e posterior.

 
IMsmMerge::OpenModule Todas as versões Mergemod.dll.

Sintaxe

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

Parâmetros

[in] Path

Nome de arquivo totalmente qualificado que aponta para um módulo de mesclagem. Um LPCWSTR pode ser usado no lugar de um BSTR.

[in] Language

Um LANGID (identificador de idioma).

Valor retornado

A função OpenModule retorna os valores a seguir.

Valor Significado
E_ABORT
O arquivo especificado é um banco de dados do Windows Installer, mas não é um módulo de mesclagem ( tabela ModuleSignature ausente).
ERROR_INSTALL_LANGUAGE_UNSUPPORTED como HRESULT
O idioma não é compatível com o módulo.
ERROR_INSTALL_TRANSFORM_FAILURE como HRESULT
O idioma é compatível com o módulo, mas houve um erro ao aplicar a transformação.
ERROR_OPEN_FAILED como HRESULT
Não foi possível abrir o arquivo como um banco de dados do Windows Installer.
ERROR_TOO_MANY_OPEN_FILES como HRESULT
Já há um módulo aberto. Fecha primeiro o módulo atual.
S_OK
A função foi bem-sucedida.

Comentários

Essa função abre o módulo de mesclagem no modo somente leitura (MSIDBOPEN_READONLY) e exclui outros programas da gravação no módulo de mesclagem até que a função CloseModule seja chamada. Um módulo de mesclagem deve ser aberto antes de ser mesclado.

O instalador tenta abrir o módulo no idioma especificado por Language ou em qualquer idioma mais geral. Por exemplo, se 1033 for especificado pelo valor Language , um módulo com um idioma padrão de 1033, 9 ou 0 será aberto em seu idioma padrão. O Language de valor 9 abre módulos com um idioma padrão de 9 ou 0. Se o idioma padrão do módulo não atender aos requisitos especificados, será feita uma tentativa de transformar o módulo no idioma solicitado. Se isso falhar, o instalador tentará transformar o módulo em idiomas cada vez mais gerais, até o idioma neutro. Se nenhuma das transformações for bem-sucedida, o módulo não será aberto. Nesse caso, um erro é adicionado à lista de erros do tipo msmErrorLanguageUnsupported e a função retorna ERROR_INSTALL_LANGUAGE_UNSUPPORTED como HRESULT.

Se houver um erro ao transformar o módulo no idioma desejado, um erro será criado do tipo msmErrorLanguageFailed e a função retornará ERROR_INSTALL_TRANSFORM_FAILURE como HRESULT.

Para obter mais informações, consulte a propriedade Type do objeto Error .

Abrir um módulo de mesclagem limpa todos os erros que ainda não foram recuperados.

Requisitos

   
Cliente mínimo com suporte Mergemod.dll 1.0 ou versões posteriores
Plataforma de Destino Windows
Cabeçalho mergemod.h
DLL Mergemod.dll

Confira também

Automação de módulo de mesclagem