Utilisation d’un fichier INF universel
Certaines éditions de Windows n’utilisent qu’un sous-ensemble des méthodes d’installation de pilotes disponibles sur Windows 10 Desktop. Un fichier INF pour les versions non-Desktop de Windows ne doit effectuer que des opérations additives qui sont entièrement décrites dans le fichier INF. Un fichier INF avec une syntaxe aussi restreinte est appelé un fichier INF universel.
Un fichier INF universel s’installe de manière prévisible, avec le même résultat à chaque fois. Les résultats de l’installation ne dépendent pas de l’exécution de composants en dehors des composants d’installation de périphériques fournis par le système. Par exemple, les références de co-installer ne sont pas valides dans un fichier INF universel, car exiger l’exécution de code dans une DLL supplémentaire dans le cadre de l’installation signifie que le système ne peut pas déterminer le résultat de l’installation uniquement à partir du fichier INF.
Pour tester si votre INF est universel, utilisez infverif /u
.
Un pilote Windows doit passer infverif /w
, qui teste /u
ainsi que l’isolation du package de pilotes.
Pour une liste des options InfVerif, veuillez consulter la section Exécuter InfVerif depuis la ligne de commande.
Si vous créez un package de pilote pour Windows Desktop, vous n’êtes pas obligé d’utiliser un fichier INF universel, mais il est recommandé de le faire en raison des avantages en termes de performances.
Quelles sections INF sont invalides dans un fichier INF universel ?
Vous pouvez utiliser n’importe quelle section INF définie par le système dans un fichier INF universel, à l’exception des suivantes :
- Section INF ClassInstall32
- Section INF DDInstall.CoInstallers
- Section INF DDInstall.FactDef
- Section INF DDInstall.LogConfigOverride
La section INF Manufacturer est valide tant que la décoration TargetOSVersion ne contient pas un indicateur ProductType ou un indicateur SuiteMask.
La section INF DefaultInstall est valide uniquement si elle comporte une décoration d’architecture, par exemple [DefaultInstall.NTAMD64]
.
Quelles directives INF sont invalides dans un fichier INF universel ?
Vous pouvez utiliser n’importe quelle directive INF définie par le système dans un fichier INF universel, à l’exception des suivantes :
- Directive INF BitReg
- Directive INF DelFiles
- Directive INF DelProperty
- Directive INF DelReg
- Directive INF DelService
- Directive INF Ini2Reg
- Directive INF LogConfig
- Directive INF ProfileItems
- Directive INF RegisterDlls
- Directive INF RenFiles
- Directive INF UnregisterDlls
- Directive INF UpdateIniFields
- Directive INF UpdateInis
Les directives suivantes sont valides avec certaines réserves :
La directive INF AddReg est valide si les entrées dans la section add-registry-section spécifiée ont une valeur reg-root de HKR, ou dans les cas suivants :
- Pour l’enregistrement des objets Component Object Model (COM), une clé peut être écrite sous :
- HKCR
- HKLM\SOFTWARE\Classes
- Pour la création de Hardware Media Foundation Transforms (MFTs), une clé peut être écrite sous :
- HKLM\SOFTWARE\Microsoft\Windows Media Foundation
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows Media Foundation
- HKLM\SOFTWARE\WOW3232Node\Microsoft\Windows Media Foundation
- Pour l’enregistrement des objets Component Object Model (COM), une clé peut être écrite sous :
La directive INF CopyFiles est valide uniquement si le répertoire de destination est l’un des dirids suivants :
- 11
- 12
- 13 (veuillez consulter la section Exécuter depuis Driverstore)
Remarque : CopyFiles ne peut pas être utilisé pour renommer un fichier pour lequel DestinationDirs inclut dirid 13. - 10, SysWOW64
- 10,nom de sous-répertoire spécifique au fournisseur
Remarque : Dans Windows 10, version 1709, l’utilisation de dirid 10 avec un nom de sous-répertoire spécifique au fournisseur est valide dans un fichier INF universel, tel que mesuré à l’aide de l’outil InfVerif. Dans les versions ultérieures, cette valeur pourrait ne pas être prise en charge. Nous recommandons de passer à dirid 13.