Freigeben über


INF-AddSoftware-Direktive

Jede AddSoftware Direktive beschreibt die Installation von eigenständiger Software. Diese Direktive sollte in einer INF-Datei der SoftwareComponent Setupklasse verwendet werden. Weitere Informationen zu Softwarekomponenten finden Sie unter Using a Component INF File. Diese Direktive wird für Windows 10, Version 1703 und höher, unterstützt.

Gültige Installationstypen sind von der Zielplattformabhängig. Desktop unterstützt beispielsweise MSI-Installationsprogramme und Setup-EXEs.

Hinweis

Typ 2 wird in universellen Treibern unterstützt, Typ 1 ist nur Desktop.

Wenn eine INF-Datei einer Softwarekomponente AddSoftware-angibt, wird die Software des Systems nach der Geräteinstallation in die Warteschlange gestellt. Es gibt keine Garantie, wann oder ob die Software installiert wird. Wenn auf referenzierte Software nicht installiert werden kann, versucht das System erneut, wenn die referenzierende Softwarekomponente aktualisiert wird.

Eine AddSoftware--Direktive wird in einer INF-DDInstall-verwendet. Abschnitt "Software".

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

Einträge

SoftwareName-
Gibt den Namen der zu installierenden Software an. Dieser Name muss systemweit eindeutig sein, unabhängig vom INF- oder Abschnittsnamen. Die Verarbeitung einer AddSoftware--Direktive überprüft die Version auf vorherige Software, die mit demselben Namen installiert ist, anhand einer AddSoftware--Direktive von jedem Treiberpaket. Es wird empfohlen, den SoftwareName mit dem Lieferantennamen vorzuweisen, z. B. ContosoControlPanel.

Kennzeichnungen
Gibt mindestens ein Flag (ORed) an.

0x00000000
Die AddSoftware Direktive wird nur einmal verarbeitet.

0x00000001
Die AddSoftware Direktive wird einmal für jedes Komponentengerät verarbeitet, das AddSoftware- mit demselben eindeutigen SoftwareName-angibt.

Ziehen Sie beispielsweise eine Konfiguration in Betracht, in der drei Geräte mit derselben INF-Datei installiert werden. Der Softwareinstallationsprozess wird nur einmal für Flags 0x00000000 ausgeführt, aber dreimal für Flags 0x00000001.

software-install-section
Verweist auf einen INF-Writer-definierten Abschnitt, der Informationen zum Installieren von Software enthält.

Bemerkungen

Jeder von INF-Autor*innen erstellte Abschnittsname muss innerhalb der INF-Datei eindeutig sein und den allgemeinen Regeln für die Definition von Abschnittsnamen entsprechen. Weitere Informationen zu diesen Regeln finden Sie unter Allgemeine Syntaxregeln für INF-Dateien.

Eine AddSoftware--Direktive muss auf einen benannten Softwareinstallationsabschnitt verweisen, an anderer Stelle in der INF-Datei. Jeder dieser Abschnitte weist das folgende Formular auf:

[software-install-section]

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

Hinweis

Informationen zu Einschränkungen für Abschnittseinträge und -werte finden Sie unter SoftwareType-.

Jede Software, die mit AddSoftware installiert ist, muss im Hintergrund (oder leise) installiert werden. Mit anderen Worten, während der Installation kann dem Benutzer keine Benutzeroberfläche angezeigt werden.

Jede Software, die mit AddSoftware installiert ist, nicht deinstalliert werden, wenn das Gerät der virtuellen Softwarekomponente oder der übergeordneten Geräte deinstalliert wird. Wenn Ihre Software keine UWP-App ist (d. h. Sie verwenden AddSoftware- mit einem SoftwareType von 1), stellen Sie bitte sicher, dass Benutzer sie problemlos deinstallieren können, ohne eine Ablaufverfolgung in der Registrierung zu hinterlassen. Gehen Sie hierzu wie folgt vor:

Softwareinstallationsabschnittseinträge und -werte

SoftwareType={type-code}
SoftwareType- gibt den Typ der Softwareinstallation an und ist ein erforderlicher Eintrag.

Der Wert 1 gibt an, dass die zugeordnete Software eine MSI- oder EXE-Binärdatei ist. Wenn dieser Wert festgelegt wird, ist auch der SoftwareBinary Eintrag erforderlich. Ein Wert von 1 wird unter Windows 10 S nicht unterstützt.

Wenn SoftwareType- auf 1 festgelegt ist, sind SoftwareBinary und SoftwareVersion ebenfalls erforderlich, aber SoftwareArguments und Flags (in der AddSoftware--Direktive) sind optional.

Ab Windows 10, Version 1709, gibt der Wert 2 an, dass die zugehörige Software ein Microsoft Store-Link ist. Verwenden Sie den Wert 1 nur für gerätespezifische Software ohne grafische Benutzeroberfläche. Wenn Sie über eine gerätespezifische App mit grafischen Elementen verfügen, sollte sie aus dem Microsoft Store stammen, und der Treiber sollte mithilfe eines SoftwareType- Werts 2 darauf verweisen.

Wenn SoftwareType- auf 2 festgelegt ist, ist SoftwareID- erforderlich, und Flags (in der AddSoftware--Direktive) sind optional. Wenn SoftwareType- auf 2 festgelegt ist, werden SoftwareBinary und SoftwareVersion- nicht verwendet.

Hinweis

Bei Verwendung von SoftwareType 2 der AddSoftware-Direktive ist es nicht erforderlich, eine Component INF zu verwenden. Die Direktive kann in jeder beliebigen INF erfolgreich verwendet werden. Eine AddSoftware-Direktive vom Typ 1 muss jedoch aus einer Komponente INF verwendet werden.

Verwenden Sie AddSoftware nicht, um Software zu verteilen, die nicht mit einem Gerät verbunden ist. Beispielsweise sollte ein OEM-spezifisches PC-Hilfsprogramm nicht mit AddSoftware installiert werden. Verwenden Sie stattdessen eine der folgenden Optionen, um eine App in einem OEM-Image von Windows 10 vorzuinstallieren:

Informationen zum Koppeln eines Treibers mit einer UWP-App (Universelle Windows-Plattform) finden Sie unter Kopplung eines Treibers mit einer UWP-App (Universelle Windows-Plattform) und Hardwareunterstützungs-App (HSA): Schritte für Treiberentwickler.

SoftwareBinary={filename}
Gibt den Pfad zur ausführbaren Datei an. Das System generiert Befehlszeilen wie die folgenden:

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

EXE: <SoftwareBinary> [<SoftwareArguments>]

Wenn Sie diesen Eintrag verwenden, müssen Sie die ausführbare Datei zum DriverStore hinzufügen, indem Sie die INF CopyFiles-Direktive mit einem DestinationDirs Wert 13 angeben.

Hinweis

Unter SoftwareType- finden Sie Informationen zu Einschränkungen für SoftwareBinary Einträgen und Werten.

SoftwareArguments={argument1[, argument2[, ... argumentN]]}
Gibt erweiterungsspezifische Argumente an, die an die Befehlszeile angefügt werden sollen. Sie können Befehlszeilenargumente angeben, die das System einfach in die generierte Befehlszeile übergibt. Sie können auch spezielle Zeichenfolgen angeben, die Laufzeitkontextvariablen. Wenn Sie eine Laufzeitkontextvariable angeben, konvertiert das System sie in einen gerätespezifischen Wert, bevor sie an die generierte Befehlszeile angefügt wird. Sie können Literalzeichenfolgenargumente mit Laufzeitkontextvariablen kombinieren und abgleichen. Unterstützte Laufzeitkontextvariablen sind:

<<DeviceInstanceID>>

Das System ersetzt die obige Zeichenfolge durch die Geräteinstanz-ID der Softwarekomponente.

Beispiel:

    [DDInstall.Software]
    AddSoftware=ContosoControlPanel,,Contoso_ControlPanel_Software

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

Im obigen Beispiel wird eine Befehlszeile wie folgt angezeigt:

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

Wenn SoftwareArguments mehrere Argumente enthält:

    SoftwareArguments=arg1,<<DeviceInstanceID>>,arg2

Die obigen Ergebnisse ergeben:

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

Hinweis

Unter SoftwareType- finden Sie Informationen zu Einschränkungen für SoftwareArguments Einträgen und Werten.

SoftwareVersion={w.x.y.z}
Gibt die Softwareversion an. Jeder Wert darf 65535 nicht überschreiten. Wenn das System auf ein dupliziertes SoftwareName-trifft, überprüft es die SoftwareVersion- auf das vorherige SoftwareVersion-. Wenn dies größer ist, führt Windows die Software aus.

Hinweis

Informationen zu Einschränkungen für SoftwareVersion Einträgen und Werten finden Sie unter SoftwareType-.

SoftwareID={x.y.z}
Gibt einen Microsoft Store-Bezeichner und einen Bezeichnertyp an. Derzeit wird nur der Paketfamilienname (PACKAGE Family Name, PFN) unterstützt. Verwenden Sie einen PFN, um mithilfe des Formulars pfn://<x.y.z>auf eine UWP-App (Universelle Windows-Plattform) zu verweisen.

Hinweis

Informationen zu Einschränkungen für SoftwareID Einträgen und Werten finden Sie unter SoftwareType-.

Siehe auch

Verwenden einer INF-Komponente

ABSCHNITT INF DDInstall.Software

INF-AddComponent-Direktive

Koppeln eines Treibers mit einer UWP-App (Universelle Windows-Plattform)

Hardware Support App (HSA)-Schritte für Treiberentwickler