Função MsiSetExternalUIA (msi.h)

A função MsiSetExternalUI habilita um manipulador de interface do usuário externo. Esse manipulador de interface do usuário externo é chamado antes do manipulador de interface do usuário interno normal. O manipulador de interface do usuário externo tem a opção de suprimir a interface do usuário interna retornando um valor diferente de zero para indicar que ele lidou com as mensagens. Para obter mais informações, confira Sobre a interface do usuário.

Sintaxe

INSTALLUI_HANDLERA MsiSetExternalUIA(
  [in] INSTALLUI_HANDLERA puiHandler,
  [in] DWORD              dwMessageFilter,
  [in] LPVOID             pvContext
);

Parâmetros

[in] puiHandler

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

[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 tiver sido habilitado. Para obter mais informações, consulte a função 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
Não havia espaço suficiente no disco.
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
Informações da barra de progresso . Essa mensagem inclui informações sobre unidades até o momento e o número total de unidades. Para obter uma explicação do formato da mensagem, consulte a função MsiProcessMessage . Essa mensagem só é enviada para uma interface do usuário externa e não é registrada.
INSTALLLOGMODE_INITIALIZE
Se essa não for uma instalação silenciosa, a interface do usuário básica foi 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 ainda 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 completa da interface do usuário. 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

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.

Valor retornado

O valor retornado será o manipulador externo definido anteriormente ou zero (0) se não houver nenhum manipulador definido anteriormente.

Comentários

Para restaurar o manipulador de interface do usuário anterior, a segunda chamada é feita para MsiSetExternalUI usando o INSTALLUI_HANDLER retornado pela primeira chamada para MsiSetExternalUI e especificando zero (0) para 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.

Observação

O cabeçalho msi.h define MsiSetExternalUI como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

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. Windows Installer no Windows Server 2003 ou no Windows XP. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o service pack mínimo do Windows 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 registro em log