Uso di un file INF universale
Alcune edizioni di Windows usano solo un subset dei metodi di installazione del driver disponibili in Windows 10 Desktop. Un file INF per versioni non desktop di Windows deve eseguire solo operazioni aggiuntive descritte completamente nel file INF. Un file INF con tale sintassi limitata è denominato file INF universale.
Un file INF universale installa in modo prevedibile, con lo stesso risultato ogni volta. I risultati dell'installazione non dipendono dall'esecuzione di componenti esterni al sistema fornito dai componenti di installazione del dispositivo. Ad esempio, i riferimenti al co-programma di installazione non sono validi in un file INF universale perché la richiesta di codice in un'altra DLL da eseguire come parte dell'installazione significa che il sistema non può determinare il risultato dell'installazione solo dal file INF.
Per verificare se INF è universale, usare infverif /u
.
Un driver di Windows deve superare infverif /w
, che esegue i test /u
e l'isolamento del pacchetto driver.
Per un elenco delle opzioni infVerif, vedere Running InfVerif from the command line.
Se si sta creando un pacchetto di Driver desktop di Windows, non è necessario usare un file INF universale, ma è consigliabile farlo a causa dei vantaggi delle prestazioni.
Quali sezioni INF non sono valide in un file INF universale?
È possibile usare qualsiasi sezione INF definita dal sistema in un file INF universale, ad eccezione dei seguenti:
- Sezione INF ClassInstall32
- Sezione INF DDInstall.CoInstallers
- Sezione INF DDInstall.FactDef
- Sezione INF DDInstall.LogConfigOverride
La sezione PRODUTTORE INF è valida purché la decorazione TargetOSVersion non contenga un flag ProductType o un flag SuiteMask.
La sezione INF DefaultInstall è valida solo se ha una decorazione dell'architettura, ad esempio [DefaultInstall.NTAMD64]
.
Quali direttive INF non sono valide in un file INF universale?
È possibile usare qualsiasi direttiva INF definita dal sistema in un file INF universale, ad eccezione dei seguenti:
- Direttiva INF BitReg
- Direttiva INF DelFiles
- Direttiva INF DelProperty
- Direttiva INF DelReg
- Direttiva INF DelService
- Direttiva INI2Reg INF
- Direttiva INF LogConfig
- Direttiva INF ProfileItems
- Direttiva INF RegisterDlls
- Direttiva INF RenFiles
- Direttiva INF UnregisterDlls
- Direttiva INF UpdateIniFields
- Direttiva INF UpdateInis
Le direttive seguenti sono valide con alcune avvertenze:
La direttiva INF AddReg è valida se le voci nella sezione add-registry specificata hanno un valore reg-root HKR o nei casi seguenti:
- Per la registrazione di oggetti COM (Component Object Model ), è possibile scrivere una chiave in:
- HKCR
- HKLM\SOFTWARE\Classes
- Per la creazione di trasformazioni di Hardware Media Foundation (MFT), è possibile scrivere una chiave in:
- HKLM\SOFTWARE\Microsoft\Windows Media Foundation
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows Media Foundation
- HKLM\SOFTWARE\WOW3232Node\Microsoft\Windows Media Foundation
- Per la registrazione di oggetti COM (Component Object Model ), è possibile scrivere una chiave in:
La direttiva INF CopyFiles è valida solo se la directory di destinazione è una delle dirid seguenti:
- 11
- 12
- 13 (vedere Run from Driverstore)
Nota: è possibile che CopyFiles non venga usato per rinominare un file per il quale DestinationDirs include dirid 13. - 10,SysWOW64
- 10, nome di sottodirectory specifico del fornitore
Nota: in Windows 10 versione 1709, l'uso di dirid 10 con un nome di sottodirectory specifico del fornitore è valido in un INF universale come misurato usando lo strumento InfVerif . Nelle versioni successive, questo valore potrebbe non essere supportato. È consigliabile passare a dirid 13.