Analisar mensagens do Windows Installer
Um manipulador de interface do usuário externa pode processar a lista de mensagens do instalador especificadas pelo parâmetro dwMessagedFilter da função MsiSetExternalUI. Algumas dessas mensagens contêm cadeias de caracteres que podem ser usadas diretamente e outras mensagens podem precisar ser analisadas e processadas pelo manipulador de interface do usuário externa para serem úteis. Talvez o manipulador de interface do usuário externa apenas precise monitorar mensagens do Windows Installer sem executar nenhuma operação que afete a instalação.
As seguintes mensagens do Windows Installer contêm cadeias de caracteres que podem ser exibidas por uma caixa de diálogo e não precisam de processamento adicional. Essas mensagens contêm uma lista de botões e ícones que devem ser exibidos por uma caixa de diálogo. Use os valores MB_ICONMASK, MB_DEFMASK e MB_TYPEMASK para especificar ícones e botões.
-
INSTALLMESSAGE_FATALEXIT
-
Ocorreu um encerramento prematuro da instalação.
-
INSTALLMESSAGE_ERROR
-
Mensagem de erro formatada.
-
INSTALLMESSAGE_WARNING
-
Mensagem de aviso formatada.
-
INSTALLMESSAGE_INFO
-
Mensagem de log formatada.
-
INSTALLMESSAGE_USER
-
Mensagem de usuário formatada.
-
INSTALLMESSAGE_OUTOFDISKSPACE
-
Mensagem formatada indicando uma condição de espaço em disco insuficiente
O manipulador de usuário externo pode usar as seguintes mensagens do Windows Installer para monitorar uma sequência da interface do usuário do Windows Installer. O instalador envia essas mensagens no início de uma sequência de interface do usuário do Windows Installer conforme cada caixa de diálogo é exibida e também no final da sequência de interface do usuário. Nenhum processamento é necessário para usar essas mensagens.
-
INSTALLMESSAGE_TERMINATE
-
Essa mensagem indica o fim da sequência de interface do usuário. A cadeia de caracteres é nula.
-
INSTALLMESSAGE_INITIALIZE
-
Essa mensagem indica que a sequência de interface do usuário foi iniciada. A cadeia de caracteres é nula.
-
INSTALLMESSAGE_SHOWDIALOG
-
A cadeia de caracteres contém o nome da caixa de diálogo atual.
As seguintes mensagens do Windows Installer exigem processamento adicional pelo manipulador de interface do usuário externa.
-
INSTALLMESSAGE_RESOLVESOURCE
-
O manipulador de interface do usuário externa deve retornar 0 e permitir que o Windows Installer manipule a mensagem. O manipulador de interface do usuário externa pode monitorar essa mensagem, mas não deve executar nenhuma ação que afete a instalação.
-
INSTALLMESSAGE_FILESINUSE
-
A interface do usuário externa deve exibir uma caixa de diálogo FilesInUse em resposta a essa mensagem.
-
INSTALLMESSAGE_RMFILESINUSE
-
A interface do usuário externa deve exibir uma caixa de diálogo MsiRMFilesInUse em resposta a essa mensagem. Disponível a partir do Windows Installer versão 4.0. Para obter mais informações sobre essa mensagem, consulte Usar o gerenciador de reinicialização com uma interface do usuário externa.
-
INSTALLMESSAGE_ACTIONSTART
-
Esta mensagem fornece informações sobre a ação atual. O formato é Ação [1]: [2]. [3], em que dois-pontos é usado para separar o Campo 1 e o Campo 2 e um ponto é usado para separar o Campo 2 e o Campo 3. O Campo [1] contém a hora em que a ação foi iniciada usando o formato da propriedade Hora. O Campo [2] contém o nome da ação da tabela de sequência. O Campo [3] fornece a descrição da ação da Tabela ActionText ou da função MsiProcessMessage.
-
INSTALLMESSAGE_ACTIONDATA
-
O formato dessa cadeia de caracteres é especificado pelo valor Modelo fornecido na Tabela ActionText ou pela função MsiProcessMessage. Pode haver um número ilimitado de mensagens INSTALLMESSAGE_ACTIONDATA após a mensagem INSTALLMESSAGE_ACTIONSTART.
-
INSTALLMESSAGE_COMMONDATA
-
Essa mensagem tem três subtipos: Idioma, Legenda e CancelShow. A cadeia de caracteres pode ter três campos delimitados por um número seguido por dois-pontos. Nem todos os campos são obrigatórios. A mensagem pode ser uma cadeia de caracteres NULA ou vazia ("").
-
Linguagem
-
O Campo 1 contém o valor 0 para indicar que essa cadeia de caracteres contém informações de idioma. O campo 2 contém um valor Linguagem que é um identificador numérico de idioma (LANGID.) O campo 3 é um valor que representa uma página de código ANSI.
-
Legenda
-
O Campo 1 contém o valor 1 para indicar que essa cadeia de caracteres contém o texto de uma legenda ou título. O Campo 2 contém o texto que um manipulador de interface do usuário externa pode usar como legenda de título para uma caixa de diálogo. O Campo 3 é NULO ou uma cadeia de caracteres vazia (""). O campo 3 pode estar ausente da mensagem de Legenda.
-
CancelShow
-
O Campo 1 contém o valor 2 para indicar que essa cadeia de caracteres contém informações sobre a exibição do botão cancelar. Caso o botão cancelar deva estar oculto, o Campo 2 contém o valor 0. Caso o botão cancelar deva estar visível, o Campo 2 contém o valor 1.
-
-
INSTALLMESSAGE_PROGRESS
-
Esta mensagem tem quatro subtipos: Reset, ActionInfo, ProgressReport e ProgressAddition. O manipulador externo não deve agir sobre nenhuma dessas mensagens até que a primeira mensagem "Reset progress" seja recebida. Isso fornece uma estimativa do número total de tiques para a barra de progresso.
-
Redefinir
-
O Campo 1 contém o valor 0 para indicar uma redefinição da barra de progresso. O Campo 2 contém o número total de tiques na barra de progresso. O Campo 3 contém o valor 0 para o movimento da barra de progresso. O Campo 3 contém o valor 1 para o movimento de retrocesso da barra de progresso. O valor 0 no Campo 4 significa que a instalação está em andamento e o tempo restante pode ser calculado. O valor 1 no Campo 4 significa que o script está sendo executado e uma mensagem "Aguarde ..." pode ser exibida. A estimativa do número total de tiques é uma aproximação e pode ser imprecisa.
-
ActionInfo
-
O Campo 1 contém o valor 1 para indicar que essa cadeia de caracteres contém informações de ação. O Campo 2 contém o número de tiques que a barra de progresso move para cada mensagem ActionData enviada pela ação atual. Caso o Campo 3 contenha o valor 0, ignore Campo 2. Caso o Campo 3 contenha o valor 1, incremente a barra de progresso pelo número de tiques no Campo 2 para cada mensagem ActionData enviada pela ação atual. O Campo 4 não é usado.
-
ProgressReport
-
O Campo 1 contém o valor 2 para indicar que essa cadeia de caracteres contém informações de progresso. O Campo 2 contém o número de tiques que a barra de progresso moveu. O Campo 3 não é usado. O Campo 4 não é usado.
-
ProgressAddition
-
O Campo 1 contém o valor 3 para indicar que uma ação pode adicionar tiques na barra de progresso. O Campo 2 contém o número de tiques a serem adicionados à contagem total esperada de tiques de progresso. O Campo 3 não é usado. O Campo 4 não é usado.
-