Linee guida di DIFx
A partire da Windows 10 versione 1607, gli strumenti di installazione driver (DIFx) (Difxapi.dll
, Difxapp.dll
, Difxappa.dll
e DPInst.exe
) sono deprecati e non sono più inclusi in WDK.
È invece consigliabile fornire come pacchetto driver autonomo che non richiede un programma di installazione. Questo pacchetto autonomo aggiunge le proprie impostazioni o la configurazione necessarie per il corretto funzionamento. Un pacchetto driver autonomo non dipende da un programma di installazione per modificare lo stato del sistema che il pacchetto driver potrebbe richiedere. I pacchetti driver autonomi sono necessari per supportare la distribuzione del pacchetto driver tramite Windows Update e l'aggiunta del pacchetto driver a un'immagine offline. È consigliabile pubblicare un pacchetto driver autonomo da distribuire tramite Windows Update ai sistemi a cui è collegato l'hardware. Il primo passaggio per pubblicare il pacchetto driver in Windows Update consiste nell'inviare il pacchetto driver a Windows Hardware Dev Center.
Se si sceglie comunque di usare DIFx, è necessario usare un WDK precedente per ottenere gli strumenti giusti. Si applicano le avvertenze seguenti:
Se il pacchetto driver specifica solo i valori TargetOSVersion di Windows 8.1 o versioni successive, non è possibile usare l'azione personalizzata MSI DIFxApp (
Difxapp.dll
eDifxappa.dll
) a causa della dipendenza di DIFxApp da GetVersionEx, un'API modificata a partire da Windows 8.1. TargetOSVersion è specificato nella sezione Produttore INF. DIFxApp espone azioni personalizzate MSI, ad esempio MsiProcessDrivers, MsiInstallDrivers e MsiUninstallDrivers. Se il pacchetto driver specifica i valori TargetOSVersion di Windows 8.1 o versione successiva, non è possibile usare queste azioni personalizzate nell'identità del servizio gestito.A partire da Windows 8.1, le applicazioni che si collegano a
Difxapi.dll
devono contenere un manifesto dell'app destinato alla versione del sistema operativo in cui deve essere eseguita l'applicazione. Questo requisito è dovuto alla dipendenza di DIFxAPI da GetVersionEx, un'API modificata a partire da Windows 8.1. Per altre informazioni sulle modifiche apportate a GetVersionEx in Windows 8.1, vedi Impostazione della destinazione dell'applicazione per Windows.Se il pacchetto driver usa la parte BuildNumber di TargetOSVersion (introdotta in Windows 10 versione 1607 (Build 14310 e versioni successive), non è possibile usare gli strumenti DIFx con tale pacchetto driver. Gli strumenti DIFx non supportano la destinazione BuildNumber.
Usare DIFx versione 2.1, disponibile in Windows 7 WDK tramite windows 10 versione 1511 WDK. Anche se una versione DIFx 2.1 era disponibile nelle versioni precedenti di WDK, non era compatibile con Windows 7 e versioni successive di Windows.
I wdk precedenti contengono solo versioni x86 e amd64 dei file binari DIFx. I file binari DIFx non sono disponibili per altre architetture.
Anche se non è più aggiornato, è possibile trovare la documentazione di riferimento sulle API per DIFx in Difxapi.h. Se si usano le API DriverPackagePreinstall, DriverPackageInstall e DriverPackageUninstall, è consigliabile passare a DiInstallDriver e DiUninstallDriver.
Se è ancora necessario un programma di installazione personalizzato per installare il pacchetto driver, usare lo strumento da riga di comando PnPUtil o un programma di installazione personalizzato che chiama le funzioni di installazione del driver.
Analogamente, se è necessario il programma di installazione personalizzato per disinstallare il pacchetto driver, usare PnPUtil o un programma di installazione personalizzato che chiama DiUninstallDriver o SetupUninstallOEMInf.