Modalità di elaborazione delle azioni Finish-Install
Nota
Le funzionalità descritte in questa sezione non sono supportate nei pacchetti di driver universali o mobili. Vedere Uso di un file INF universale.
Le azioni di installazione completa per un dispositivo vengono elaborate nello stesso modo da un programma di installazione (un programma di installazione di classe, un co-programma di installazione di classe o un programma di installazione del dispositivo), indipendentemente dal fatto che l'installazione sia stata un'installazione di primo livello o che l'installazione venga avviata eseguendo un programma di installazione, ad esempio La Creazione guidata nuovo hardware, l'Aggiornamento guidato del driver o un programma di installazione fornito dal fornitore ( un'installazione software-first).
Nota In Windows 8, Windows 8.1 e Windows 10, le azioni di fine installazione devono essere completate nel Centro notifiche da un amministratore (o un utente limitato che può fornire le credenziali di amministratore a un prompt dell'account utente). Gli utenti devono fare clic su "Fine installazione del software del dispositivo".
Windows elabora le azioni di completamento dell'installazione dopo il completamento di tutte le altre operazioni di installazione e dopo l'avvio del dispositivo, tra cui:
- Installazione del dispositivo core (nota anche come installazione lato server), in cui il driver per il dispositivo viene installato e caricato dai componenti di gestione Plug and Play (PnP) del sistema.
Windows completa i passaggi seguenti per elaborare le azioni di completamento dell'installazione di un programma di installazione:
Al termine dell'installazione del dispositivo principale, Windows chiama SetupDiCallClassInstaller per inviare una richiesta di DIF_NEWDEVICEWIZARD_FINISHINSTALL ai programmi di installazione per il dispositivo.
DIF_NEWDEVICEWIZARD_FINISHINSTALL è l'unico codice DIF inviato sia nel contesto dell'installazione del dispositivo principale che nel contesto client. Pertanto, un programma di installazione di classe, un co-programma di installazione di classe o un co-programma di installazione del dispositivo deve indicare che ha azioni di installazione completa durante l'elaborazione di DIF_NEWDEVICEWIZARD_FINISHINSTALL, anziché durante l'elaborazione di DIF_INSTALLDEVICE.
Se un programma di installazione fornisce azioni di installazione completa, imposta il flag DIF_FLAGSEX_FINISHINSTALL_ACTION in risposta a una richiesta di DIF_NEWDEVICEWIZARD_FINISHINSTALL . Se il flag DIF_FLAGSEX_FINISHINSTALL_ACTION viene impostato dopo che tutti i programmi di installazione hanno elaborato una richiesta di DIF_NEWDEVICEWIZARD_FINISHINSTALL, il dispositivo viene contrassegnato per eseguire un'azione di installazione completa.
Per altre informazioni su questa operazione, vedere Contrassegnare un dispositivo come un'azione di Finish-Install da eseguire.
Al termine dell'installazione del dispositivo principale per un dispositivo, Windows verifica se il dispositivo è stato contrassegnato per eseguire un'azione di installazione completa. In caso affermativo, Windows accoda un processo di installazione completa che esegue le azioni di installazione completa specifiche del dispositivo. Il processo viene eseguito nel contesto dell'utente.
In Windows 8 e versioni successive le azioni di fine installazione non vengono eseguite automaticamente come parte dell'installazione del dispositivo. In alternativa, un amministratore (o un utente limitato che può fornire le credenziali di amministratore a una richiesta di controllo dell'account utente) deve passare al Centro notifiche e rivolgersi all'elemento di manutenzione "Fine installazione del software del dispositivo" per l'esecuzione dell'azione di completamento dell'installazione. Fino a allora, l'azione di completamento dell'installazione non verrà eseguita. Ad esempio, se un utente collega un dispositivo che installa un driver che include un'azione di completamento dell'installazione, l'azione di fine installazione non verrà eseguita automaticamente in quel momento. L'azione di completamento dell'installazione viene eseguita in un secondo momento quando l'utente lo avvia manualmente. Quando Windows esegue l'azione di completamento dell'installazione, l'azione ha questa singola opportunità di esecuzione. Se l'azione non riesce, è necessario eseguire i passaggi appropriati per consentire all'utente di riprovare e terminare in un secondo momento. L'installazione del software di supporto che deve accompagnare un driver può comunque essere eseguita con un'azione di installazione completa, ma non verrà installata automaticamente.
In Windows 7, il processo di installazione completato viene eseguito solo nel contesto di un utente con credenziali di amministratore in uno dei casi seguenti:
- Al successivo accesso di un utente con credenziali di amministratore durante il collegamento del dispositivo.
- Quando il dispositivo viene ricollegato.
- Quando l'utente seleziona Analizza le modifiche hardware in Gestione dispositivi.
Se un utente ha eseguito l'accesso senza privilegi amministrativi, Windows richiede all'utente il consenso e le credenziali per eseguire le azioni di installazione completa in un contesto di amministratore.
Al termine dell'esecuzione delle operazioni di installazione, il processo di completamento dell'installazione avvia e completa tutte le pagine della procedura guidata di installazione completa per il dispositivo e quindi chiama SetupDiCallClassInstaller per inviare una richiesta di DIF_FINISHINSTALL_ACTION a tutti i programmi di installazione per il dispositivo, come descritto in Esecuzione di azioni di Finish-Install.
Dopo aver completato le azioni di completamento dell'installazione, Windows esegue l'azione di fine installazione predefinita, come descritto in Esecuzione dell'azione di Finish-Install predefinita.