Partilhar via


Implementando ações de Finish-Install

Observação

Os recursos descritos nesta seção não têm suporte em pacotes de driver móveis ou universais. Consulte Usando um arquivo INF universal.

Os instaladores (um instalador de classe, um co-instalador de classe ou um co-instalador de dispositivo) fornecem ações de conclusão e instalação. Uma ação de conclusão de instalação pode executar um programa executável, criar um processo, criar um thread ou executar código no processo de conclusão da instalação do driver de dispositivo.

Para implementar ações de conclusão de instalação, um instalador:

  1. Define o sinalizador DI_FLAGSEX_FINISHINSTALL_ACTION quando o instalador processa um código DIF DIF_NEWDEVICEWIZARD_FINISHINSTALL e retorna um dos seguintes códigos de erro:

    • ERROR_DI_DO_DEFAULT se for um instalador de classe sem páginas do assistente de instalação final.
    • NO_ERROR se for um instalador de classe com páginas do assistente de instalação final ou um co-instalador com ou sem páginas do assistente de instalação final.
  2. Executa as ações de conclusão de instalação ao processar uma solicitação de DIF_FINISHINSTALL_ACTION .

    Um instalador retorna um dos códigos de erro na tabela a seguir.

    Código do erro Significado

    ERROR_DI_DO_DEFAULT

    Instalador de classe: o instalador de classe executou com êxito suas ações de instalação de término e está solicitando que o Windows execute seu processamento padrão. Um instalador de classe também deverá retornar esse código de erro se não tiver nenhuma ação de conclusão de instalação.

    Co-instalador de dispositivo ou classe: os co-instaladores não retornam esse código de erro.

    NO_ERROR

    Instalador de classe: o instalador de classe executou com êxito sua ação de conclusão de instalação. O Windows não deve executar seu processamento padrão.

    Co-instalador de dispositivo ou classe: o co-instalador executou com êxito suas ações de conclusão/instalação ou não tem nenhuma ação de conclusão de instalação.

    Erro do Microsoft Win32

    O instalador encontrou um erro, mas a ação concluir instalação deve ser tentada novamente. Retornar um código de erro Win32 indica que o Windows deve executar outro processo de conclusão de instalação para concluir as ações de conclusão de instalação na próxima vez que o dispositivo for enumerado.

Nota Se uma ação de conclusão de instalação falhar e não for tentada novamente, um instalador de classe retornará ERROR_DI_DO_DEFAULT e um co-instalador de dispositivo ou classe retornará NO_ERROR.

Para obter informações sobre como desenvolver ações de conclusão de instalação, consulte Diretrizes para implementar ações de Finish-Install para código de exemplo que mostra como implementar ações de conclusão de instalação, consulte os seguintes tópicos:

Exemplo de código: ações Finish-Install em um instalador de classe

Exemplo de código: ações de Finish-Install em um co-instalador