Partager via


Directive INF AddSoftware

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 exEs.

Remarque

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

Lorsqu’un fichier INF du composant logiciel spécifie addSoftware, le logiciel file d’attente système à 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 réessaye lorsque le composant logiciel de référencement est mis à jour.

Une directive de AddSoftware est utilisée dans une INF DDInstall. Section logiciel.

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

entrepôt

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

indicateurs
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 de 0x00000000, mais trois fois pour les indicateurs de 0x00000001.

section installation logicielle
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’auteur de l’INF doit être unique dans le fichier INF et doit suivre les règles générales pour définir des noms de section. Pour plus d'informations sur ces règles, voir Règles générales de syntaxe pour les fichiers INF.

Une directive AddSoftware doit faire référence à une section software-install-section ailleurs dans le fichier INF. Chaque section de ce type a 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]

Remarque

Consultez SoftwareType pour plus d’informations sur les contraintes sur les entrées de section et les valeurs.

Tous les logiciels installés à l’aide de AddSoftware doivent être installés en mode silencieux (ou silencieusement). En d’autres termes, aucune interface utilisateur ne peut être affichée à l’utilisateur pendant l’installation.

Tout logiciel installé à l’aide de AddSoftware n'pas être désinstallé si l’appareil du 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 ce faire :

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

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

Entrées et valeurs de section Installation logicielle

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 a la valeur 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 aucune interface utilisateur graphique. Si vous disposez d’une application spécifique à l’appareil avec des éléments graphiques, elle doit provenir du Microsoft Store et le pilote doit le référencer à l’aide d’une SoftwareType valeur 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.

Remarque

Lorsque vous utilisez SoftwareType 2 de la directive AddSoftware, il n’est pas nécessaire d’utiliser un 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 le jumelage d’un pilote avec une application de plateforme Windows universelle (UWP), consultez AppAirage 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 à l’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 au DriverStore en spécifiant la directive INF CopyFiles avec une valeur DestinationDirs 13.

Remarque

Consultez SoftwareType pour plus d’informations sur les contraintes relatives aux entrées et valeurs de SoftwareBinary.

SoftwareArguments={argument1[, argument2[, ... argumentN]]}
Spécifie des arguments spécifiques à l’extension à ajouter à la ligne de commande. Vous pouvez spécifier des arguments de ligne de commande que le système passe 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 le convertit en 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 d’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 comme suit :

<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

Remarque

Consultez SoftwareType pour plus d’informations sur les contraintes sur SoftwareArguments entrées et valeurs.

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 SoftwareNameen double, il vérifie l'softwareVersion par rapport au SoftwareVersion précédent. S’il est plus grand, Windows exécute le logiciel.

Remarque

Consultez SoftwareType pour plus d’informations sur les contraintes sur SoftwareVersion entrées et valeurs.

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

Remarque

Consultez SoftwareType pour plus d’informations sur les contraintes relatives aux entrées et valeurs SoftwareID.

Voir aussi

à l’aide d’un fichier INF de composant

section INF DDInstall.Software

directive INF AddComponent

appairage d’un pilote avec une application de plateforme Windows universelle (UWP)

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