Compartir a través de


Actualización de archivos de controlador

Los controladores se actualizan siempre que se produzca una de las siguientes acciones:

  • El Asistente para actualizaciones de hardware se ejecuta desde Administrador de dispositivos.

    Nota A partir de Windows Vista, este asistente ahora se denomina Asistente para actualizar software del controlador.

  • Windows Update se ejecuta.

  • Se ejecuta el software de instalación de un dispositivo.

  • A partir de Windows Vista, puede ejecutar la herramienta PnPUtil desde un símbolo del sistema con privilegios elevados para instalar o actualizar el paquete de controladores del dispositivo.

Use las instrucciones siguientes al escribir archivos INF y software de instalación que actualicen los controladores existentes.

  • El software de instalación puede llamar a UpdateDriverForPlugAndPlayDevices, proporcionando un archivo INF y un identificador de hardware, para actualizar los controladores de los dispositivos que coinciden con el identificador de hardware.

    A partir de Windows Vista, el software de instalación también puede llamar a uno de los siguientes controladores para actualizar los controladores:

    • DiInstallDriver, que instala previamente un controlador y, a continuación, instala el controlador en los dispositivos presentes en el sistema que admite el controlador.
    • DiInstallDevice, que instala un controlador especificado desde el almacén de controladores en un dispositivo especificado que está presente en el sistema.

    Para obtener más información, consulte Escritura de una aplicación de instalación de dispositivos.

  • Al actualizar un controlador, los instaladores de clase y los co-instaladores no deben proporcionar páginas de instalación de finalización en respuesta a DIF_NEWDEVICEWIZARD_FINISHINSTALL a menos que sea absolutamente necesario. Si es posible, obtenga información de finalización de la instalación de la configuración de la instalación anterior.

  • En la medida de lo posible, los instaladores de clase y los coinstaladores deben evitar basar el comportamiento en si proporcionan una instalación inicial o están actualizando controladores para un dispositivo ya instalado.

  • A partir de Windows XP, los valores del Registro CoInstallers32 y EnumPropPages32 se eliminan antes de la entrega de DIF_REGISTER_COINSTALLERS. Los archivos INF para versiones anteriores del sistema operativo deben eliminar explícitamente estos valores o realizar una operación de modificación no pendiente en ellos.

  • A partir de Windows XP, los valores del Registro UpperFilters y LowerFilters se eliminan antes de la entrega de DIF_INSTALLDEVICE. Los archivos INF para versiones anteriores del sistema operativo deben eliminar explícitamente estos valores o realizar una operación de modificación no pendiente en ellos.

  • No use directivas INF DelFiles ni directivas RenFiles inf al actualizar controladores. Windows no puede garantizar que otro dispositivo no use un archivo determinado. (Los instaladores de clase y los co-instaladores pueden eliminar o cambiar el nombre de los archivos, si pueden determinar de forma confiable que ningún dispositivo usa los archivos).

  • Use la directiva INF DelReg para quitar las entradas del Registro específicas del dispositivo antiguas de una instalación anterior del dispositivo, si las entradas ya no son necesarias. (No quite las entradas del Registro global).

  • No use la directiva INF DelService en una sección INF DDInstall.Services para quitar los servicios de dispositivo o controlador instalados previamente del equipo de destino. Windows no puede garantizar que otro dispositivo no use un servicio determinado. (Los instaladores de clase y los co-instaladores pueden eliminar servicios, si pueden determinar de forma confiable que ningún dispositivo usa los servicios).

  • Al actualizar un instalador de clase, un coinstaladores de clase o un archivo DLL de servicio, debe asignar a la nueva versión un nombre de archivo nuevo.

Para obtener más información sobre los archivos INF, vea Creating an INF File and INF File Sections and INF File Sections and Directive.