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.
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 |
---|---|
|
O arquivo especificado é um banco de dados do Windows Installer, mas não é um módulo de mesclagem ( tabela ModuleSignature ausente). |
|
O idioma não é compatível com o módulo. |
|
O idioma é compatível com o módulo, mas houve um erro ao aplicar a transformação. |
|
Não foi possível abrir o arquivo como um banco de dados do Windows Installer. |
|
Já há um módulo aberto. Fecha primeiro o módulo atual. |
|
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 |