Partilhar via


Executando ações de Finish-Install

Observação

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

Em Windows 8 e versões posteriores do Windows, as ações de instalação final não são executadas automaticamente como parte da instalação do dispositivo. Quando um dispositivo é instalado com um driver que inclui uma ação concluir a instalação, a ação concluir a instalação não será executada automaticamente. Em vez disso, o Windows solicita a um usuário "Concluir a instalação do software do dispositivo" na área Notificações ou na Central de Ações do Windows. A instalação do software do dispositivo requer permissões de administrador. Se a instalação falhar, o software deverá solicitar que o usuário tente a instalação novamente. A instalação do software de suporte que deve acompanhar um driver ainda pode ser realizada com uma ação concluir a instalação, mas ela não será instalada automaticamente.

Antes de Windows 8, se um dispositivo estiver sinalizado como precisando executar uma ação de conclusão de instalação, o Windows tentará inicialmente concluir as ações de conclusão da instalação executando um processo de conclusão de instalação em um dos seguintes horários:

  • Para um dispositivo instalado durante a instalação do Windows, a primeira vez que um administrador faz logon no Windows após a conclusão da instalação do Windows.

  • Para um dispositivo instalado ou reinstalado após a instalação do Windows, após a conclusão das principais operações de instalação do dispositivo, da seguinte maneira:

    • Para uma instalação de hardware primeiro de um dispositivo, o Windows executa o processo inicial de conclusão de instalação. Se o usuário atual não for um administrador, o Windows primeiro solicitará que o usuário insira as credenciais de um administrador antes de executar o processo inicial de conclusão de instalação.

    • Para uma instalação de software primeiro de um dispositivo, o Windows executa o processo inicial de conclusão de instalação no contexto do administrador que iniciou a instalação ou reinstalação.

Antes de Windows 8, se a tentativa inicial de concluir as ações de concluir a instalação for bem-sucedida, o processo de conclusão da instalação limpará o dispositivo como sendo sinalizado para executar uma ação de instalação de término. Se a tentativa inicial de concluir as ações de conclusão de instalação falhar, o processo de conclusão da instalação não limpará o dispositivo como sendo sinalizado para executar uma ação de instalação de término e será encerrado. Posteriormente, enquanto o dispositivo permanece sinalizado para executar uma ação concluir a instalação, o Windows tenta repetidamente concluir as ações de conclusão da instalação executando um novo processo de instalação de término sempre que o dispositivo é enumerado, da seguinte maneira:

  • Enquanto o dispositivo permanece instalado, na próxima vez que um administrador fizer logon.

  • Se um administrador clicar em Verificar se há alterações de hardware no menu Ação do Gerenciador de Dispositivos ou um programa de instalação chama CM_Reenumerate_DevNode no contexto de um administrador.

Se o dispositivo estiver sinalizado para executar uma ação de conclusão de instalação, o processo de conclusão da instalação chamará SetupDiCallClassInstaller para enviar uma solicitação DIF_FINISHINSTALL_ACTION aos instaladores do dispositivo.

Se um instalador tiver ações de instalação final, o instalador executará ações de conclusão de instalação e retornará um código de erro apropriado para a 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 final e está solicitando que o Windows execute seu processamento padrão.

O instalador de classe também retorna esse código de erro se não tiver nenhuma ação de conclusão de instalação ou uma ação de conclusão de instalação falhar e não deverá ser tentada novamente.

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 instalação final ou não tem nenhuma ação de instalação final.

O co-instalador também retornará esse código de erro se uma ação concluir a instalação falhar e não for tentada novamente.

Erro do Microsoft Win32

O instalador de classe, o co-instalador de dispositivo ou o co-instalador de classe encontraram um erro ao processar uma ação de conclusão de instalação, mas devem tentar processar a ação concluir a instalação novamente.

Ao retornar um código de erro Win32, o instalador indica que o Windows deve executar outro processo de conclusão de instalação para concluir as ações de instalação na próxima vez que o dispositivo for enumerado. O instalador também deve informar o usuário sobre essa situação.