Atualizando arquivos de driver
Os drivers são atualizados sempre que ocorre um dos seguintes:
O Assistente de Atualização de Hardware é executado de Gerenciador de Dispositivos.
Nota A partir do Windows Vista, esse assistente agora é chamado de Assistente de Software de Driver de Atualização.
Windows Update é executado.
O software de instalação de um dispositivo é executado.
A partir do Windows Vista, você pode executar a ferramenta PnPUtil em um prompt de comandos com privilégios elevados para instalar ou atualizar o pacote de driver para o dispositivo.
Use as diretrizes a seguir ao escrever software de instalação e arquivos INF que atualizam drivers existentes.
O software de instalação pode chamar UpdateDriverForPlugAndPlayDevices, fornecendo um arquivo INF e uma ID de hardware, para atualizar drivers para dispositivos que correspondem à ID de hardware.
A partir do Windows Vista, o software de instalação também pode chamar um dos seguintes para atualizar drivers:
- DiInstallDriver, que pré-instala um driver e instala o driver em dispositivos presentes no sistema ao qual o driver dá suporte.
- DiInstallDevice, que instala um driver especificado do repositório de driver em um dispositivo especificado que está presente no sistema.
Para obter mais informações, consulte Escrevendo um aplicativo de instalação de dispositivo.
Ao atualizar um driver, os instaladores de classe e os co-instaladores não devem fornecer páginas de instalação final em resposta a DIF_NEWDEVICEWIZARD_FINISHINSTALL , a menos que seja absolutamente necessário. Se possível, obtenha informações de conclusão de instalação das configurações da instalação anterior.
Na medida do possível, os instaladores de classe e os co-instaladores devem evitar basear o comportamento em se estão fornecendo uma instalação inicial ou se estão atualizando drivers para um dispositivo já instalado.
A partir do Windows XP, os valores do Registro CoInstallers32 e EnumPropPages32 são excluídos antes da entrega de DIF_REGISTER_COINSTALLERS. Os arquivos INF para versões anteriores do sistema operacional devem excluir explicitamente esses valores ou executar uma operação de modificação sem acréscimo neles.
A partir do Windows XP, os valores do Registro UpperFilters e LowerFilters são excluídos antes da entrega de DIF_INSTALLDEVICE. Os arquivos INF para versões anteriores do sistema operacional devem excluir explicitamente esses valores ou executar uma operação de modificação sem acréscimo neles.
Não use diretivas INF DelFiles ou diretivas INF RenFiles ao atualizar drivers. O Windows não pode garantir que um arquivo específico não esteja sendo usado por outro dispositivo. (Os instaladores de classe e os co-instaladores podem excluir ou renomear arquivos, se puderem determinar de forma confiável que nenhum dispositivo está usando os arquivos.)
Use a diretiva INF DelReg para remover entradas de registro antigas específicas do dispositivo de uma instalação anterior do dispositivo, se as entradas não forem mais necessárias. (Não remova entradas globais do Registro.)
Não use a diretiva INF DelService em uma seção INF DDInstall.Services para remover serviços de driver/dispositivo instalados anteriormente do computador de destino. O Windows não pode garantir que um serviço específico não esteja sendo usado por outro dispositivo. (Os instaladores de classe e os co-instaladores poderão excluir serviços, se puderem determinar de forma confiável que nenhum dispositivo está usando os serviços.)
Ao atualizar um instalador de classe, um co-instalador de classe ou uma DLL de serviço, você deve dar à nova versão um novo nome de arquivo.
Para obter mais informações sobre arquivos INF, consulte Criando um arquivo INF e Seções e diretivas de arquivo INF.