Partager via


INF AddSoftware, directive

Chaque directive AddSoftware décrit l’installation de logiciels autonomes. Cette directive doit être utilisée dans un fichier INF de la classe d’installation SoftwareComponent . Pour plus d’informations sur les composants logiciels, consultez Utilisation d’un fichier INF de composant. Cette directive est prise en charge pour Windows 10 version 1703 et ultérieure.

Les types d’installation valides dépendent de la plateforme cible. Par exemple, Desktop prend en charge les programmes d’installation MSI et configure les EXE.

Notes

Le type 2 est pris en charge dans les pilotes universels, le type 1 est de bureau uniquement.

Lorsqu’un fichier INF de composant logiciel spécifie AddSoftware, le système met en file d’attente les logiciels à installer après l’installation de l’appareil. Il n’existe aucune garantie quand ou si le logiciel sera installé. Si le logiciel référencé ne parvient pas à s’installer, le système tente à nouveau lorsque le composant logiciel de référencement est mis à jour.

Une directive AddSoftware est utilisée dans un INF DDInstall. Section Logiciel.

[DDInstall.Software]
AddSoftware=SoftwareName,[flags],software-install-section

Entrées

SoftwareName
Spécifie le nom du logiciel à installer. Ce nom doit être unique à l’échelle du système, quel que soit le nom de section ou d’INF. Le traitement d’une directive AddSoftware vérifie la version par rapport aux logiciels précédents installés avec le même nom par une directive AddSoftware à partir de n’importe quel package de pilotes. Nous vous recommandons de préfacer SoftwareName avec le nom du fournisseur, par exemple ContosoControlPanel.

flags
Spécifie un ou plusieurs indicateurs (ORed).

0x00000000
La directive AddSoftware n’est traitée qu’une seule fois.

0x00000001
La directive AddSoftware est traitée une fois pour chaque appareil composant qui spécifie AddSoftware avec le même SoftwareName unique.

Par exemple, considérez une configuration dans laquelle trois appareils sont installés à l’aide du même fichier INF. Le processus d’installation du logiciel ne s’exécute qu’une seule fois pour les indicateurs 0x00000000, mais trois fois pour les indicateurs 0x00000001.

software-install-section
Fait référence à une section définie par l’enregistreur INF qui contient des informations pour l’installation de logiciels.

Remarques

Chaque nom de section créé par l’enregistreur INF doit être unique dans le fichier INF et respecter les règles générales de définition des noms de section. Pour plus d’informations sur ces règles, consultez Règles de syntaxe générales pour les fichiers INF.

Une directive AddSoftware doit référencer une section d’installation logicielle nommée ailleurs dans le fichier INF. Chacune de ces sections se présente sous la forme suivante :

[software-install-section]

SoftwareType=type-code
[SoftwareBinary=path-to-binary]
[SoftwareArguments=argument[, argument] …]
[SoftwareVersion=w.x.y.z]
[SoftwareID=pfn://x.y.z]

Notes

Pour plus d’informations sur les contraintes sur les entrées et les valeurs de section, consultez SoftwareType .

Tout logiciel installé à l’aide d’AddSoftware doit être installé en mode silencieux (ou silencieux). En d’autres termes, aucune interface utilisateur ne peut être affichée à l’utilisateur lors de l’installation.

Les logiciels installés à l’aide d’AddSoftwarene seront pas désinstallés si le composant logiciel virtuel ou ses appareils parents sont désinstallés. Si votre logiciel n’est pas une application UWP (c’est-à-dire que vous utilisez AddSoftware avec un SoftwareType de 1), assurez-vous que les utilisateurs peuvent facilement le désinstaller sans laisser de trace dans le registre. Pour cela, procédez de la façon suivante :

  • Si vous utilisez un programme d’installation MSI, configurez une entrée Ajout/Suppression de programmes dans le package Windows Installer de l’application.

  • Si vous utilisez un exe personnalisé qui installe l’état du registre/fichier global (au lieu de compléter les paramètres de l’appareil local), utilisez la clé de Registre de désinstallation.

Entrées et valeurs de section d’installation de logiciels

SoftwareType={type-code}
SoftwareType spécifie le type d’installation du logiciel et est une entrée obligatoire.

La valeur 1 indique que le logiciel associé est un fichier binaire MSI ou EXE. Lorsque cette valeur est définie, l’entrée SoftwareBinary est également requise. La valeur 1 n’est pas prise en charge sur Windows 10 S.

Si SoftwareType est défini sur 1, SoftwareBinary et SoftwareVersion sont également obligatoires, mais SoftwareArguments et indicateurs (dans la directive AddSoftware) sont facultatifs.

À compter de Windows 10 version 1709, la valeur 2 indique que le logiciel associé est un lien Microsoft Store. Utilisez la valeur 1 uniquement pour les logiciels spécifiques à l’appareil qui n’ont pas d’interface utilisateur graphique. Si vous avez une application spécifique à un appareil avec des éléments graphiques, elle doit provenir du Microsoft Store et le pilote doit la référencer à l’aide d’une valeur SoftwareType de 2.

Si SoftwareType est défini sur 2, SoftwareID est requis et les indicateurs (dans la directive AddSoftware) sont facultatifs. Si SoftwareType est défini sur 2, SoftwareBinary et SoftwareVersion ne sont pas utilisés.

Notes

Lors de l’utilisation de SoftwareType 2 de la directive AddSoftware, il n’est pas nécessaire d’utiliser un élément INF de composant. La directive peut être utilisée dans n’importe quel INF avec succès. Toutefois, une directive AddSoftware de type 1 doit être utilisée à partir d’un INF de composant.

N’utilisez pas AddSoftware pour distribuer des logiciels qui ne sont pas liés à un appareil. Par exemple, un programme utilitaire PC spécifique à l’OEM ne doit pas être installé avec AddSoftware. Utilisez plutôt l’une des options suivantes pour préinstaller une application dans une image OEM de Windows 10 :

Pour plus d’informations sur l’association d’un pilote avec une application plateforme Windows universelle (UWP), consultez Association d’un pilote avec une application de plateforme Windows universelle (UWP) et Application de support matériel (HSA) : étapes pour les développeurs de pilotes.

SoftwareBinary={filename}
Spécifie le chemin d’accès au fichier exécutable. Le système génère des lignes de commande comme suit :

MSI: msiexec /i "<SoftwareBinary>" ALLUSERS=1 /quiet /qn /promptrestart [<SoftwareArguments>]

EXE: <SoftwareBinary> [<SoftwareArguments>]

Si vous utilisez cette entrée, vous devez ajouter l’exécutable à DriverStore en spécifiant la directive Inf CopyFiles avec une valeur DestinationDirs de 13.

Notes

Pour plus d’informations sur les contraintes sur les entrées et valeurs SoftwareBinary, consultez SoftwareType.

SoftwareArguments={argument1[, argument2[, ... argumentN]]}
Spécifie les arguments spécifiques à l’extension à ajouter à la ligne de commande. Vous pouvez spécifier les arguments de ligne de commande que le système transmet simplement dans la ligne de commande générée. Vous pouvez également spécifier des chaînes spéciales appelées variables de contexte d’exécution. Lorsque vous spécifiez une variable de contexte d’exécution, le système la convertit en une valeur spécifique à l’appareil avant de l’ajouter à la ligne de commande générée. Vous pouvez combiner et mettre en correspondance des arguments de chaîne littéral avec des variables de contexte d’exécution. Les variables de contexte d’exécution prises en charge sont les suivantes :

<<DeviceInstanceID>>

Le système remplace la chaîne ci-dessus par l’ID de instance de l’appareil du composant logiciel.

Par exemple :

    [DDInstall.Software]
    AddSoftware=ContosoControlPanel,,Contoso_ControlPanel_Software

    [Contoso_ControlPanel_Software]
    SoftwareType=1
    SoftwareBinary=ContosoControlPanel.exe
    SoftwareArguments=<<DeviceInstanceID>>
    SoftwareVersion=1.0.0.0

L’exemple ci-dessus génère une ligne de commande semblable à celle-ci :

<DriverStorePath>\ContosoControlPanel.exe PCI\VEN_0000&DEV_0001&SUBSYS_00000000&REV_00\0123

Si SoftwareArguments contient plusieurs arguments :

    SoftwareArguments=arg1,<<DeviceInstanceID>>,arg2

Les résultats ci-dessus sont les suivants :

<DriverStorePath>\ContosoControlPanel.exe arg1 PCI\VEN_0000&DEV_0001&SUBSYS_00000000&REV_00\0123 arg2

Notes

Pour plus d’informations sur les contraintes sur les entrées et valeurs SoftwareArguments, consultez SoftwareType.

SoftwareVersion={w.x.y.z}
Spécifie la version du logiciel. Chaque valeur ne doit pas dépasser 65535. Lorsque le système rencontre un doublon SoftwareName, il vérifie softwareVersion par rapport à softwareVersion précédente. Si elle est supérieure, Windows exécute le logiciel.

Notes

Pour plus d’informations sur les contraintes sur les entrées et valeurs SoftwareVersion, consultez SoftwareType.

SoftwareID={x.y.z}
Spécifie un identificateur et un type d’identificateur du Microsoft Store. Actuellement, seul le nom de famille de packages (PFN) est pris en charge. Utilisez un PFN pour référencer une application plateforme Windows universelle (UWP) à l’aide du formulaire pfn://<x.y.z>.

Notes

Pour plus d’informations sur les contraintes sur les entrées et valeurs SoftwareID, consultez SoftwareType.

Voir aussi

Using a Component INF File (Utilisation d’un fichier de composant INF)

INF DDInstall.Software, section

Inf AddComponent, directive

Association d’un pilote à une application plateforme Windows universelle (UWP)

Application de support matériel (HSA) : étapes pour les développeurs de pilotes