Compartilhar via


Função MsiSetExternalUIRecord (msi.h)

A função MsiSetExternalUIRecord habilita um manipulador de interface do usuário externa.

Sintaxe

UINT MsiSetExternalUIRecord(
  [in]            INSTALLUI_HANDLER_RECORD  puiHandler,
  [in]            DWORD                     dwMessageFilter,
  [in]            LPVOID                    pvContext,
  [out, optional] PINSTALLUI_HANDLER_RECORD ppuiPrevHandler
);

Parâmetros

[in] puiHandler

Especifica uma função de retorno de chamada que está em conformidade com a especificação de INSTALLUI_HANDLER_RECORD .

Para desabilitar o manipulador de interface do usuário externo atual, chame a função com esse parâmetro definido como um valor NULL .

[in] dwMessageFilter

Especifica quais mensagens manipular usando o manipulador de mensagens externo. Se o manipulador externo retornar um resultado diferente de zero, essa mensagem não será enviada para a interface do usuário, em vez disso, a mensagem será registrada se o registro em log estiver habilitado. Para obter mais informações, consulte MsiEnableLog.

Valor Significado
INSTALLLOGMODE_FILESINUSE
Arquivos em informações de uso.

Quando essa mensagem é recebida, uma caixa de diálogo FilesInUse deve ser exibida.

INSTALLLOGMODE_FATALEXIT
Término prematuro da instalação.
INSTALLLOGMODE_ERROR
As mensagens de erro são registradas.
INSTALLLOGMODE_WARNING
As mensagens de aviso são registradas.
INSTALLLOGMODE_USER
As solicitações do usuário são registradas.
INSTALLLOGMODE_INFO
As mensagens status que não são exibidas são registradas.
INSTALLLOGMODE_RESOLVESOURCE
Solicitação para determinar um local de origem válido.
INSTALLLOGMODE_RMFILESINUSE
Arquivos em informações de uso. Quando essa mensagem é recebida, uma caixa de diálogo MsiRMFilesInUse deve ser exibida.
INSTALLLOGMODE_OUTOFDISKSPACE
O é espaço em disco insuficiente.
INSTALLLOGMODE_ACTIONSTART
O início de novas ações de instalação é registrado.
INSTALLLOGMODE_ACTIONDATA
O registro de dados com a ação de instalação é registrado em log.
INSTALLLOGMODE_COMMONDATA
Os parâmetros para inicialização da interface do usuário são registrados.
INSTALLLOGMODE_PROGRESS
As informações da barra progresso .

Essa mensagem inclui informações sobre unidades até agora e o número total de unidades. Essa mensagem só é enviada para uma interface do usuário externa e não é registrada. Para obter mais informações, consulte MsiProcessMessage.

INSTALLLOGMODE_INITIALIZE
Se essa não for uma instalação silenciosa, a interface do usuário básica será inicializada.

Se essa for uma instalação completa da interface do usuário, a interface do usuário completa ainda não será inicializada.

Essa mensagem só é enviada para uma interface do usuário externa e não é registrada.

INSTALLLOGMODE_TERMINATE
Se uma interface do usuário completa estiver sendo usada, a interface do usuário completa será encerrada.

Se essa não for uma instalação silenciosa, a interface do usuário básica não foi encerrada.

Essa mensagem só é enviada para uma interface do usuário externa e não é registrada.

INSTALLLOGMODE_SHOWDIALOG
Enviado antes da exibição da caixa de diálogo Interface do Usuário Completa.

Essa mensagem só é enviada para uma interface do usuário externa e não é registrada.

INSTALLLOGMODE_INSTALLSTART
A instalação do produto começa.

A mensagem contém ProductName e ProductCode do produto.

INSTALLLOGMODE_INSTALLEND
A instalação do produto termina.

A mensagem contém ProductName, ProductCode e valor retornado do produto.

[in] pvContext

Um ponteiro para um contexto de aplicativo que é passado para a função de retorno de chamada.

Esse parâmetro pode ser usado para verificação de erros.

[out, optional] ppuiPrevHandler

Retorna o ponteiro para a função de retorno de chamada definida anteriormente que está em conformidade com a especificação INSTALLUI_HANDLER_RECORD ou NULL se nenhum retorno de chamada for definido anteriormente.

Valor retornado

Código de retorno Descrição
ERROR_SUCCESS
A função é concluída com êxito.
ERROR_CALL_NOT_IMPLEMENTED
Esse valor indica que é feita uma tentativa de chamar essa função de uma ação personalizada.

Essa função não pode ser chamada de uma ação personalizada.

Comentários

Essa função não pode ser chamada de Ações Personalizadas.

O manipulador de interface do usuário externo habilitado chamando MsiSetExternalUIRecord recebe mensagens no formato de um objeto Record. O manipulador de interface do usuário externo habilitado chamando MsiSetExternalUI recebe mensagens no formato de uma cadeia de caracteres. Uma interface do usuário externa é sempre chamada antes da interface do usuário interna do Windows Installer. Uma interface do usuário externa baseada em registro habilitada é chamada antes de qualquer interface do usuário externa baseada em cadeia de caracteres. Se o manipulador de interface do usuário externo baseado em registro retornar 0 (zero), a mensagem será enviada para qualquer manipulador de interface do usuário externo baseado em cadeia de caracteres habilitado. Se o manipulador de interface do usuário externo retornar um valor diferente de zero, o manipulador de interface do usuário interno do Windows Installer será suprimido e as mensagens serão consideradas tratadas.

Essa função armazena as interfaces do usuário externas que ela definiu. Para substituir o manipulador de interface do usuário externo atual por um manipulador anterior, chame a função e especifique o INSTALLUI_HANDLER_RECORD como o parâmetro puiHandler e 0 (zero) como o parâmetro dwMessageFilter .

O manipulador de interface do usuário externo apontado pelo parâmetro puiHandler não tem controle total sobre a interface do usuário externa, a menos que MsiSetInternalUI seja chamado com o parâmetro dwUILevel definido como INSTALLUILEVEL_NONE. Se MsiSetInternalUI não for chamado, o nível de interface do usuário interno usará como padrão INSTALLUILEVEL_BASIC. Como resultado, qualquer mensagem não manipulada pelo manipulador de interface do usuário externo é tratada pelo Windows Installer. A inicial "Preparando para instalar. . ." dialog always appears even if the external user interface handler handles all messages. MsiSetExternalUI só deve ser chamado de um aplicativo de inicialização . Você não pode chamar MsiSetExternalUI de uma ação personalizada.

Para desabilitar esse manipulador de interface do usuário externo, chame MsiSetExternalUIRecord com um valor NULL para o parâmetro puiHandler .

Windows Installer 2.0 e Windows Installer 3.0: Sem suporte. A função MsiSetExternalUIRecord está disponível a partir do Windows Installer 3.1.

Para obter mais informações sobre como usar um manipulador externo baseado em registro, confira Como monitorar uma instalação usando MsiSetExternalUIRecord.

Requisitos

   
Cliente mínimo com suporte Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o Windows service pack mínimo exigido por uma versão do Windows Installer.
Plataforma de Destino Windows
Cabeçalho msi.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

Funções de interface e log

Sem suporte no Windows Installer 3.0 e nas versões anteriores