Condividi tramite


Linee guida per DIFx

A partire da Windows 10 versione 1607 (Redstone 1), gli strumenti di installazione driver (DIFx) (Difxapi.dll, Difxapp.dll, Difxappa.dlle DPInst.exe) sono deprecati e non sono più inclusi in WDK.

È invece consigliabile fornire il pacchetto driver come pacchetto driver autonomo che non richiede un programma di installazione. Si tratta di un pacchetto autonomo che aggiunge le proprie impostazioni o la configurazione da cui deve funzionare correttamente, invece di dipendere da un programma di installazione per modificare lo stato del sistema da cui il pacchetto driver può dipendere. I pacchetti driver autonomi sono necessari per supportare scenari di pacchetto driver, ad esempio 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 corretti. Si applicano le avvertenze seguenti:

  • Se il pacchetto driver specifica solo i valori TargetOSVersion di Windows 8.1 o versione successiva, non è possibile usare l'azione personalizzata MSI DIFxApp (Difxapp.dll e Difxappa.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. Ciò è 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, vedere Targeting your application for Windows (Targeting your application for Windows).
  • Se il pacchetto driver usa la parte BuildNumber di TargetOSVersion (introdotta in Windows 10 versione 1607 (Build 14310 e 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 il WDK Windows 10 versione 1511. 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 servizi di distribuzione windows meno recenti contengono solo versioni x86 e amd64 dei file binari DIFx. I file binari DIFx non sono disponibili per altre architetture.

Anche se non viene più aggiornato, è possibile trovare la documentazione di riferimento dell'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.