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. |