Risoluzione dei problemi relativi all'installazione del driver KMDF e UMDF

Il co-programma di installazione del framework crea messaggi di debug. È possibile visualizzare questi messaggi in un debugger.

Inoltre, il co-programma di installazione scrive i messaggi di debug nel log azioni di installazione (%windir%\setupact.log). Il log azioni di installazione contiene la versione del co-programma di installazione e il driver specificato nel file INF del driver. È necessario verificare che siano come previsto.

Esame dell'installazione di KMDF

L'output seguente nel log azioni di installazione proviene dall'installazione corretta di un driver KMDF:

WdfCoInstaller: DIF_INSTALLDEVICE: Pre-Processing
WdfCoInstaller: ReadComponents:  WdfSection for Driver Service ECHO using KMDF lib version Major 0x1, minor 0x9 
WdfCoInstaller: DIF_INSTALLDEVICE: Coinstaller version: 1.9.7100
WdfCoInstaller: DIF_INSTALLDEVICE: KMDF in-memory version: 1.9.7100
WdfCoInstaller: DIF_INSTALLDEVICE: KMDF on-disk version: 1.9.7100
WdfCoInstaller: Service Wdf01000 is running
WdfCoInstaller: DIF_INSTALLDEVICE: Update is not required. The on-disk KMDF version is newer than or same as the version of the coinstaller
WdfCoInstaller: DIF_INSTALLDEVICE: Post-Processing

Nello scenario precedente non è stato necessario alcun aggiornamento perché la versione del framework su disco e in memoria è KMDF 1.9, che corrisponde alla stessa versione del co-programma di installazione.

Si consideri l'output seguente, che descrive in dettaglio un'installazione non riuscita:

WdfCoInstaller: ReadComponents:  WdfSection for Driver Service ECHO using KMDF lib version Major 0x1, minor 0x9  
WdfCoInstaller: DIF_INSTALLDEVICE: Coinstaller version: 1.9.7100
WdfCoInstaller: DIF_INSTALLDEVICE: KMDF in-memory version: 1.7.6000
WdfCoInstaller: DIF_INSTALLDEVICE: KMDF on-disk version: 1.7.6000
WdfCoInstaller: Service Wdf01000 is running
WdfCoInstaller: DIF_INSTALLDEVICE: Reboot is required, because the in-memory KMDF version is older than the coinstaller's version.
WdfCoInstaller: DIF_INSTALLDEVICE: Update is required, because the on-disk KMDF version is older than the coinstaller
WdfCoInstaller: VerifyMSRoot: exit: error(0) The operation completed successfully.
WdfCoInstaller: Invoking "D:\Windows\system32\wusa.exe "D:\Windows\Temp\WdfTemp\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu" /quiet /norestart".
WdfCoInstaller: The update process returned error code :error(265) <no error text>. 
WdfCoInstaller: For additional information please look at the log files %windir%\windowsupdate.log and %windir%\Logs\CBS\CBS.log

In questo scenario erano necessari sia un aggiornamento che un riavvio perché la versione in memoria e la versione su disco del runtime KMDF erano precedenti alla versione del co-programma di installazione. Tuttavia, l'aggiornamento non è riuscito. Il programma di installazione condivisa punta a file di log aggiuntivi in cui è possibile trovare altre informazioni sull'errore.

È anche possibile controllare nel registro eventi di sistema gli errori correlati all'associazione dinamica del driver KMDF alla libreria di runtime. Un errore di questo tipo può generare una voce Wdf<MajorVersionNumber><MinorVersionNumber> nel registro eventi di sistema. In questo caso, riavviare il computer. È anche possibile forzare una reinstallazione del runtime KMDF eliminando Wdf<MajorVersionNumber><MinorVersionNumber>.sys dalla cartella %windir%\system32\drivers .

Esame dell'installazione di UMDF

L'output seguente nel log azioni di installazione descrive un'installazione del driver UMDF completata.

WudfUpdate: installing version (1,9,0,7100).
WudfUpdate: Checking for presence of previous UMDF installation.
WudfUpdate: Found binary %WINDIR%\system32\drivers\wudfrd.sys version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\drivers\wudfpf.sys version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfhost.exe version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfsvc.dll version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfx.dll version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfplatform.dll version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfcoinstaller.dll version (1.9.0.7100)
WudfUpdate: UMDF installation is same as update. WudfUpdate: Loading configuration coinstaller from D:\Windows\system32\wudfcoinstaller.dll.
WudfCoInstaller: ReadWdfSection: Checking WdfSection [Echo_Install.NT.Wdf]
WudfCoInstaller: Configuring UMDF Service  WUDFEchoDriver.
WudfCoInstaller: Service WudfSvc is already running.
WudfCoInstaller: Final status: error(0) The operation completed successfully.

Nello scenario precedente non è necessario alcun aggiornamento perché la versione su disco del runtime è UMDF 1.9, che corrisponde alla versione del co-programma di installazione.

Si consideri l'output seguente, che descrive in dettaglio un'installazione non riuscita.

WudfUpdate: installing version (1,9,0,7100).
WudfUpdate: Checking for presence of previous UMDF installation.
WudfUpdate: Found binary %WINDIR%\system32\drivers\wudfrd.sys version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\drivers\wudfpf.sys version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfhost.exe version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfsvc.dll version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfx.dll version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfplatform.dll version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfcoinstaller.dll version (1.5.0.6000)
WudfUpdate: UMDF installation is older than current.
WudfUpdate: Locating resource stream WUDF_UPDATE_VISTA-RTM.
WudfUpdate: unpacking update from resource to Microsoft User-Mode Driver Framework Install-v1.9-Vista.msu.
WudfUpdate: Temporary path is D:\Windows\Temp\WDF7625.tmp.
WudfUpdate: Invoking update "%SYSTEMROOT%\system32\wusa.exe" with command line "D:\Windows\Temp\WDF7625.tmp\Microsoft User-Mode Driver Framework Install-v1.9-Vista.msu /quiet /norestart".
WudfUpdate: Waiting for update to terminate.
WudfUpdate: Update process returned 22.
WudfUpdate: update returned error 0x16 - error(22) The device does not recognize the command.
WudfUpdate: For additional information please look at the log files %windir%\windowsupdate.log and %windir%\Logs\CBS\CBS.log
WudfUpdate: Cleaning up update.
WudfUpdate: Error updating UMDF - error(22) The device does not recognize the command. Aborting installation.

In questo scenario, la versione su disco del runtime UMDF era precedente alla versione del co-programma di installazione. Tuttavia, in questo caso l'aggiornamento non è riuscito. Il co-programma di installazione punta a file di log aggiuntivi in cui è possibile trovare altre informazioni relative al motivo dell'errore.