Partilhar via


Como retornar mensagens de erro de ações personalizadas

Esta seção descreve como enviar mensagens de ações personalizadas que realmente executam uma parte da instalação, chamando uma biblioteca de vínculo dinâmico ou script. Observe que a Ação Personalizada Tipo 19 só envia uma mensagem de erro especificada, retorna uma falha e encerra a instalação. O Tipo de Ação Personalizada 19 não executa nenhuma parte da instalação.

Para enviar uma mensagem de erro de uma ação personalizada que usa uma DLL (biblioteca de vínculo dinâmico), chame a ação personalizada MsiProcessMessage. Observe que as ações personalizadas iniciadas por um DoAction ControlEvent podem enviar mensagens com o método Message, mas não podem enviar uma mensagem com MsiProcessMessage. Nos sistemas anteriores ao Windows Server 2003, as ações personalizadas iniciadas por um ControlEvent DoAction não podem enviar mensagens com MsiProcessMessage ou o método Message. Para obter mais informações confira Enviando mensagens para o Windows Installer usando MsiProcessMessage.

Para exibir uma mensagem de erro de dentro de uma ação personalizada usando uma DLL

  1. A ação personalizada deve chamar MsiProcessMessage e passar os parâmetros hInstall, eMessageType e hRecord. O identificador da instalação, Ação Personalizada Tipo 19, pode ser fornecido para a ação personalizada, conforme descrito em Como acessar a sessão do instalador atual de dentro de uma ação personalizada ou em MsiOpenProduct ou MsiOpenPackage.
  2. O parâmetro eMessageType deve especificar um dos tipos de mensagem conforme listado em MsiProcessMessage.
  3. O parâmetro hRecord da função MsiProcessMessage depende do tipo de mensagem. Confira Como enviar mensagens para o Windows Installer usando MsiProcessMessage. Se a mensagem contiver dados formatados, insira a mensagem na tabela Error usando a formatação descrita em Formatted.

Para enviar uma mensagem de erro de uma ação personalizada que usa Scripts, a ação personalizada pode chamar o método Message do objeto Session.

Para exibir uma mensagem de erro de dentro de uma ação personalizada usando um script

  1. A ação personalizada deve chamar o método Message do objeto Session e ser aprovada nos parâmetros kind e record.
  2. O parâmetro kind deve especificar um dos tipos de mensagem listados no método Message.
  3. O parâmetro record do método Message depende do tipo de mensagem. Se a mensagem contiver dados formatados, insira a mensagem na tabela Error usando a formatação descrita em Formatted.

As ações personalizadas que usam Arquivos Executáveis não podem enviar uma mensagem chamando MsiProcessMessage ou o método Message, pois não podem obter um identificador para a instalação.

Valores retornados da ação personalizada