Ações do 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.
As ações de conclusão de instalação permitem que o instalador conclua as operações de instalação.
Os instaladores podem especificar ações de instalação final a serem executadas em um instalador de classe, um co-instalador de classe ou um co-instalador de dispositivo, começando com o Windows Vista e versões posteriores. As ações de conclusão de instalação são executadas no contexto de um administrador depois que todas as outras operações de instalação, incluindo páginas do assistente de conclusão de instalação, são concluídas.
No Windows 7, a ação de conclusão de instalação padrão é fornecida pela função SetupDiFinishInstallAction fornecida pelo sistema. Essa função processa, no contexto interativo de um administrador, as entradas do registro RunOnce definidas para um dispositivo. Se um dispositivo não tiver um instalador de classe ou um instalador de classe retornar ERROR_DI_DO_DEFAULT em resposta a uma solicitação de DIF_FINISHINSTALL_ACTION , o Windows chamará SetupDiFinishInstallAction depois que todos os instaladores de um dispositivo concluirem suas ações de conclusão de instalação.
Em Windows 8 e versões posteriores, as ações de conclusão de instalação não são executadas automaticamente como parte da instalação do dispositivo e a função SetupDiFinishInstallAction foi removida. Em vez disso, um administrador (ou um usuário limitado que pode fornecer credenciais de administrador para um prompt UAC) deve ir para a Central de Ações e abordar o item de manutenção "Concluir a instalação do software do dispositivo" para que a ação de conclusão de instalação seja executada. Até lá, a ação concluir a instalação não será executada. Por exemplo, se um usuário conectar um dispositivo que instala um driver que inclui uma ação de conclusão de instalação, a ação concluir instalação não será executada automaticamente nesse momento. Em vez disso, a ação concluir instalação será executada em algum momento posterior quando o usuário a iniciar manualmente. Depois disso, quando o Windows executa a ação concluir a instalação, a ação tem essa única oportunidade de ser executada. Se a ação falhar, ele deverá executar as etapas apropriadas para permitir que o usuário tente novamente e conclua mais tarde. Da mesma forma, a instalação do software de suporte que deve acompanhar um driver ainda pode ser realizada com uma ação de conclusão de instalação, mas também não será instalada automaticamente.
Como alternativa, dependendo do cenário, em Windows 8 e versões posteriores, você poderá usar o novo modelo de aplicativo de dispositivo. Mais informações sobre aplicativos de dispositivo podem ser encontradas em Design Excelentes Experiências de Hardware.
As ações de conclusão de instalação são úteis nas seguintes situações:
Para executar um programa de instalação de aplicativo específico do dispositivo que não foi projetado para ser executado como parte de uma página do assistente de conclusão de instalação. Se esse programa de instalação tiver sua própria interface do usuário, o uso de uma ação de conclusão de instalação para instalar o aplicativo fornecerá uma melhor experiência do usuário.
Por exemplo, suponha que um fabricante de dispositivos queira instalar um aplicativo específico do dispositivo, além de um driver para um dispositivo, e que o aplicativo específico do dispositivo tenha seu próprio programa de instalação com sua própria interface do usuário. Para fornecer a melhor experiência do usuário, o fabricante do dispositivo executaria o programa de instalação como uma ação de conclusão de instalação. Dessa forma, quando o Windows detecta o dispositivo e localiza o driver, o Windows primeiro instala o driver e, em seguida, executa o programa de instalação do aplicativo.
Para executar um programa de instalação que só pode ser executado em um contexto de usuário interativo (uma instalação do lado do cliente). Por exemplo, esse programa de instalação pode ser iniciado usando uma diretiva InteractiveInstall na Seção ControlFlags do INF do arquivo INF de um pacote de driver .
Nota A partir do Windows Vista, esse programa de instalação não pode ser executado da mesma forma que em versões anteriores do Windows. Isso ocorre porque o Windows Vista e versões posteriores do Windows não dão suporte à instalação de dispositivos em uma instalação do lado do cliente. No entanto, esse programa de instalação poderá ser executado como uma ação de conclusão de instalação se o pacote de driver incluir um instalador de classe, um co-instalador de classe ou um co-instalador de dispositivo que inicia o programa de instalação.
Esta seção discute mais detalhadamente as ações de conclusão da instalação e inclui os seguintes tópicos:
Visão geral das ações de Finish-Install