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 |
---|---|
|
Arquivos em informações de uso.
Quando essa mensagem é recebida, uma caixa de diálogo FilesInUse deve ser exibida. |
|
Término prematuro da instalação. |
|
As mensagens de erro são registradas. |
|
As mensagens de aviso são registradas. |
|
As solicitações do usuário são registradas. |
|
As mensagens status que não são exibidas são registradas. |
|
Solicitação para determinar um local de origem válido. |
|
Arquivos em informações de uso. Quando essa mensagem é recebida, uma caixa de diálogo MsiRMFilesInUse deve ser exibida. |
|
O é espaço em disco insuficiente. |
|
O início de novas ações de instalação é registrado. |
|
O registro de dados com a ação de instalação é registrado em log. |
|
Os parâmetros para inicialização da interface do usuário são registrados. |
|
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. |
|
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. |
|
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. |
|
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. |
|
A instalação do produto começa.
A mensagem contém ProductName e ProductCode do produto. |
|
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 |
---|---|
|
A função é concluída com êxito. |
|
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
Sem suporte no Windows Installer 3.0 e nas versões anteriores