Using a Universal INF File (Uso de un archivo INF universal)
Algunas ediciones de Windows usan solo un subconjunto de los métodos de instalación del controlador que están disponibles en el escritorio de Windows 10. Un archivo INF para versiones que no son de escritorio de Windows debe realizar solo operaciones de adición que se describen completamente en el archivo INF. Un archivo INF con esta sintaxis restringida se denomina archivo INF universal.
Un archivo INF universal se instala de forma predecible, con el mismo resultado cada vez. Los resultados de la instalación no dependen de la ejecución de componentes ajenos a los componentes de instalación de dispositivos proporcionados por el sistema. Por ejemplo, las referencias al coinstalador no son válidas en un archivo INF universal, ya que al requerir la ejecución de código en un DLL adicional como parte de la instalación, el sistema no puede determinar el resultado de la instalación solo a partir del archivo INF.
Para probar si el INF es universal, use infverif /u
.
Un controlador de Windows debe superar infverif /w
, que prueba /u
así como el aislamiento de paquetes de controladores.
Para obtener una lista de las opciones de InfVerif, consulte Ejecución de InfVerif desde la línea de comandos.
Si va a crear un paquete de controladores de escritorio de Windows, no tiene que usar un archivo INF universal, pero se recomienda hacerlo debido a las ventajas de rendimiento.
¿Qué secciones INF no son válidas en un archivo INF universal?
Puede usar cualquier sección INF definida por el sistema en un archivo INF universal, excepto las siguientes:
- Sección ClassInstall32 de INF
- Sección DDInstall.CoInstallers de INF
- Sección DDInstall.FactDef de INF
- Sección DDInstall.LogConfigOverride de INF
La sección Manufacturer de INF es válida siempre que la representación de TargetOSVersion no contenga una marca ProductType o SuiteMask.
La sección DefaultInstall de INF solo es válida si tiene una representación de arquitectura, por ejemplo [DefaultInstall.NTAMD64]
.
¿Qué directivas INF no son válidas en un archivo INF universal?
Puede usar cualquier directiva INF definida por el sistema en un archivo INF universal, excepto las siguientes:
- Directiva BitReg de INF
- Directiva DelFiles de INF
- Directiva DelProperty de INF
- Directiva DelReg de INF
- Directiva DelService de INF
- Directiva Ini2Reg de INF
- Directiva LogConfig de INF
- Directiva ProfileItems de INF
- Directiva RegisterDlls de INF
- Directiva RenFiles de INF
- Directiva UnregisterDlls de INF
- Directiva UpdateIniFields de INF
- Directiva UpdateInis de INF
Las siguientes directivas son válidas con algunas advertencias:
La directiva AddReg de INF es válida si las entradas de add-registry-section especificadas tienen un valor de reg-root de HKR o en los casos siguientes:
- Para el registro de objetos del modelo de objetos componentes (COM), se puede escribir una clave en:
- HKCR
- HKLM\SOFTWARE\Classes
- Para la creación de transformaciones de Media Foundation de hardware (MFT), se puede escribir una clave en:
- HKLM\SOFTWARE\Microsoft\Windows Media Foundation
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows Media Foundation
- HKLM\SOFTWARE\WOW3232Node\Microsoft\Windows Media Foundation
- Para el registro de objetos del modelo de objetos componentes (COM), se puede escribir una clave en:
La directiva CopyFiles de INF solo es válida si el directorio de destino es uno de los siguientes dirids:
- 11
- 12
- 13 (consulte Ejecución desde el almacén de controladores)
Nota: CopyFiles no se debe usar para cambiar el nombre de un archivo para el que DestinationDirs incluye dirid 13. - 10,SysWOW64
- 10,nombre del subdirectorio específico del proveedor
Nota: En Windows 10, versión 1709, el uso de dirid 10 con un nombre de subdirectorio específico del proveedor es válido en un INF universal medido mediante la herramienta InfVerif. En versiones posteriores, es posible que este valor no se admita. Se recomienda pasar a dirid 13.