Ejecutar acciones de Finish-Install
Nota
Las características descritas en esta sección no se admiten en paquetes de controladores universales o móviles. Consulte Uso de un archivo INF universal.
En Windows 8 y versiones posteriores de Windows, las acciones de instalación finalizada no se ejecutan automáticamente como parte de la instalación del dispositivo. Cuando se instala un dispositivo con un controlador que incluye una acción de finalización de la instalación, la acción finalizar instalación no se ejecutará automáticamente. En su lugar, Windows solicita a un usuario que "Termine de instalar software de dispositivo" en el área Notificaciones o en Windows Action Center. La instalación del software de dispositivo requiere permisos de administrador. Si se produce un error en la instalación, el software debe pedir al usuario que vuelva a intentar la instalación. La instalación de software auxiliar que debe acompañar a un controlador todavía se puede realizar con una acción de instalación de finalización, pero no se instalará automáticamente.
Antes de Windows 8, si un dispositivo está marcado como necesario para realizar una acción de instalación de finalización, Windows intenta inicialmente completar las acciones de instalación de finalización ejecutando un proceso de instalación de finalización en una de las siguientes ocasiones:
Para un dispositivo que se instala durante la instalación de Windows, la primera vez que un administrador inicia sesión en Windows una vez finalizada la instalación de Windows.
Para un dispositivo instalado o reinstalado después de instalar Windows, una vez completadas las operaciones de instalación de dispositivos principales, como se indica a continuación:
Para una instalación de hardware primero de un dispositivo, Windows ejecuta el proceso inicial de instalación de finalización. Si el usuario actual no es administrador, Windows pedirá primero al usuario que escriba las credenciales de un administrador antes de ejecutar el proceso inicial de instalación de finalización.
Para una instalación de software primero de un dispositivo, Windows ejecuta el proceso inicial de instalación de finalización en el contexto del administrador que inició la instalación o reinstalación.
Antes de Windows 8, si el intento inicial de completar las acciones de finalización de la instalación se realiza correctamente, el proceso de instalación de finalización borra el dispositivo como marcado para realizar una acción de instalación de finalización. Si se produce un error en el intento inicial de completar las acciones de finalización de la instalación, el proceso de finalización de la instalación no borra el dispositivo como marcado para realizar una acción de instalación de finalización y se cierra. Posteriormente, mientras el dispositivo sigue marcado para realizar una acción de instalación de finalización, Windows intenta repetidamente completar las acciones de instalación de fin mediante la ejecución de un nuevo proceso de instalación de finalización cada vez que se enumera el dispositivo, como se indica a continuación:
Mientras el dispositivo permanece instalado, la próxima vez que un administrador inicie sesión.
Si un administrador hace clic en Buscar cambios de hardware en el menú Acción de Administrador de dispositivos o un programa de instalación llama a CM_Reenumerate_DevNode en el contexto de un administrador.
Si el dispositivo está marcado para realizar una acción de finalización de la instalación, el proceso de instalación de finalización llama a SetupDiCallClassInstaller para enviar una solicitud de DIF_FINISHINSTALL_ACTION a los instaladores del dispositivo.
Si un instalador tiene acciones de instalación de finalización, el instalador realiza acciones de instalación de fin y devuelve un código de error adecuado para la solicitud de DIF_FINISHINSTALL_ACTION . Un instalador devuelve uno de los códigos de error de la tabla siguiente.
Código de error | Significado |
---|---|
ERROR_DI_DO_DEFAULT |
Instalador de clase: el instalador de clase ha ejecutado correctamente sus acciones de instalación de finalización y solicita que Windows realice su procesamiento predeterminado. El instalador de clase también devuelve este código de error si no tiene acciones de instalación de finalización o se produce un error en una acción de instalación de fin y no se debe volver a intentar. Dispositivo o coinserción de clase: los coinserdores no devuelven este código de error. |
NO_ERROR |
Instalador de clase: el instalador de clase ha ejecutado correctamente su acción de finalización de la instalación. Windows no debe realizar su procesamiento predeterminado. Dispositivo o co-instalador de clase: el co-instalador ha ejecutado correctamente sus acciones de instalación de finalización o no tiene acciones de instalación de finalización. El co-installer también devuelve este código de error si se produce un error en una acción de finalización de la instalación y no se debe intentar de nuevo. |
Error de Microsoft Win32 |
El instalador de clase, el co-instalador del dispositivo o el co-instalador de clase encontraron un error al procesar una acción de finalización de la instalación, pero deben intentar procesar la acción finalizar la instalación de nuevo. Al devolver un código de error win32, el instalador indica que Windows debe ejecutar otro proceso de instalación de finalización para completar las acciones de instalación de finalización la próxima vez que se enumera el dispositivo. El instalador también debe informar al usuario de esta situación. |