Traitement des actions Finish-Install
Notes
Les fonctionnalités décrites dans cette section ne sont pas prises en charge dans les packages de pilotes universels ou mobiles. Consultez Utilisation d’un fichier INF universel.
Les actions de fin d’installation d’un appareil sont traitées de la même manière par un programme d’installation (programme d’installation de classe, co-programme d’installation de classe ou co-programme d’installation d’appareil), que l’installation soit une installation d’abord matérielle ou que l’installation soit lancée en exécutant un programme d’installation tel que l’Assistant Nouveau matériel trouvé, l’Assistant Mettre à jour le pilote logiciel ou un programme d’installation fourni par le fournisseur ( une installation d’abord logicielle).
Note Dans Windows 8, Windows 8.1 et Windows 10, les actions de fin d’installation doivent être effectuées dans le Centre de notifications par un administrateur (ou un utilisateur limité qui peut fournir des informations d’identification d’administrateur à une invite UAC). Les utilisateurs doivent cliquer sur « Terminer l’installation du logiciel de l’appareil ».
Windows traite les actions de fin-installation une fois que toutes les autres opérations d’installation sont terminées et que l’appareil a démarré, notamment :
- Installation principale de l’appareil (également appelée installation côté serveur), dans laquelle le pilote de l’appareil est installé et chargé par les composants du gestionnaire de Plug-and-Play (PnP) du système.
Windows effectue les étapes suivantes pour traiter les actions de fin-installation d’un programme d’installation :
À la fin de l’installation de l’appareil principal, Windows appelle SetupDiCallClassInstaller pour envoyer une demande de DIF_NEWDEVICEWIZARD_FINISHINSTALL aux programmes d’installation de l’appareil.
DIF_NEWDEVICEWIZARD_FINISHINSTALL est le seul code DIF envoyé à la fois dans le contexte de l’installation de l’appareil principal et dans le contexte client. Par conséquent, un programme d’installation de classe, un co-programme d’installation de classe ou un co-programme d’installation d’appareil doit indiquer qu’il a des actions de fin d’installation pendant DIF_NEWDEVICEWIZARD_FINISHINSTALL traitement, plutôt que pendant DIF_INSTALLDEVICE traitement.
Si un programme d’installation fournit des actions de fin d’installation, il définit l’indicateur DIF_FLAGSEX_FINISHINSTALL_ACTION en réponse à une demande de DIF_NEWDEVICEWIZARD_FINISHINSTALL . Si l’indicateur DIF_FLAGSEX_FINISHINSTALL_ACTION est défini après que tous les programmes d’installation ont traité une demande de DIF_NEWDEVICEWIZARD_FINISHINSTALL, l’appareil est marqué pour effectuer une action d’installation de fin.
Pour plus d’informations sur cette opération, consultez Marquage d’un appareil comme ayant une action Finish-Install à effectuer.
Une fois l’installation du cœur de l’appareil terminée pour un appareil, Windows vérifie si l’appareil a été marqué pour effectuer une action de fin-installation. Si c’est le cas, Windows met en file d’attente un processus de fin-installation qui effectue les actions de fin-installation spécifiques à l’appareil. Le processus s’exécute dans le contexte de l’utilisateur.
Dans Windows 8 et versions ultérieures, les actions de fin d’installation ne sont pas exécutées automatiquement dans le cadre de l’installation de l’appareil. Au lieu de cela, un administrateur (ou un utilisateur limité qui peut fournir des informations d’identification d’administrateur à une invite UAC) doit accéder au Centre de notifications et traiter l’élément de maintenance « Terminer l’installation du logiciel de l’appareil » pour que l’action terminer-installer s’exécute. D’ici là, l’action terminer-installer ne s’exécutera pas. Par exemple, si un utilisateur connecte un appareil qui installe un pilote qui inclut une action terminer-installer, l’action terminer l’installation ne s’exécutera pas automatiquement à ce moment-là. L’action terminer l’installation s’exécute ultérieurement lorsque l’utilisateur l’initie manuellement. Lorsque Windows exécute l’action terminer-installer, l’action a cette seule possibilité d’exécution. Si l’action échoue, elle doit prendre les mesures appropriées pour permettre à l’utilisateur de réessayer et de terminer ultérieurement. L’installation d’un logiciel de prise en charge qui doit accompagner un pilote peut toujours être effectuée avec une action terminer-installer, mais elle ne sera pas installée automatiquement.
Dans Windows 7, le processus de fin-installation s’exécute uniquement dans le contexte d’un utilisateur disposant d’informations d’identification d’administrateur à l’un des moments suivants :
- La prochaine fois qu’un utilisateur disposant des informations d’identification d’administrateur se connecte alors que l’appareil est attaché.
- Lorsque l’appareil est attaché de nouveau.
- Lorsque l’utilisateur sélectionne Rechercher les modifications matérielles dans Gestionnaire de périphériques.
Si un utilisateur est connecté sans privilèges d’administrateur, Windows invite l’utilisateur à fournir son consentement et ses informations d’identification pour exécuter les actions de fin d’installation dans un contexte administrateur.
Lors de l’exécution des opérations de fin d’installation, le processus de fin d’installation démarre et termine toutes les pages de l’Assistant Fin-installation pour l’appareil, puis appelle SetupDiCallClassInstaller pour envoyer une demande DIF_FINISHINSTALL_ACTION à tous les programmes d’installation de l’appareil, comme décrit dans Exécution des actions Finish-Install.
Une fois que les programmes d’installation ont terminé leurs actions d’installation finale, Windows exécute l’action fin-installation par défaut, comme décrit dans Exécution de l’action de Finish-Install par défaut.