Freigeben über


INF AddSoftware-Direktive

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

Gültige Installationstypen hängen von der Zielplattform ab. 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-Softwarekomponentesdatei AddSoftware angibt, wird die Software in die Warteschlange gestellt, die nach der Geräteinstallation installiert werden soll. Es gibt keine Garantie, wann oder ob die Software installiert wird. Wenn die Installation der referenzierten Software fehlschlägt, versucht es das System erneut, wenn die verweisende Softwarekomponente aktualisiert wird.

Eine AddSoftware-Direktive wird in einem 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. Bei der Verarbeitung einer AddSoftware-Direktive wird die Version mit der vorherigen Software überprüft, die mit demselben Namen von einer AddSoftware-Direktive aus einem beliebigen Treiberpaket installiert wurde. Es wird empfohlen, softwareName mit dem Namen des Anbieters vorzuweisen, z. B ContosoControlPanel. .

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

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

Softwareinstallationsabschnitt
Verweist auf einen inF-Writer definierten Abschnitt, der Informationen zum Installieren von Software enthält.

Hinweise

Jeder vom INF-Writer erstellte Abschnittsname muss innerhalb der INF-Datei eindeutig sein und den allgemeinen Regeln zum Definieren von Abschnittsnamen entsprechen. Weitere Informationen zu diesen Regeln finden Sie unter Allgemeine Syntaxregeln für INF-Dateien.

Eine AddSoftware-Direktive muss an anderer Stelle in der INF-Datei auf einen benannten Softwareinstallationsabschnitt verweisen. Jeder dieser Abschnitte hat die folgende Form:

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

Alle mit AddSoftware installierten Software müssen automatisch (oder im Hintergrund) installiert werden. Anders ausgedrückt: Während der Installation kann dem Benutzer keine Benutzeroberfläche angezeigt werden.

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

Einträge und Werte des Softwareinstallationsabschnitts

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 ist, ist auch der Eintrag SoftwareBinary erforderlich. Der Wert 1 wird für 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 mit dem SoftwareType-Wert 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 erfolgreich in jedem INF verwendet werden. Eine AddSoftware-Direktive vom Typ 1 muss jedoch aus einem Komponenten-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 Universelle Windows-Plattform-App (UWP) finden Sie unter Koppeln eines Treibers mit einer Universelle Windows-Plattform-App (UWP) und Hardwaresupport-App (HSA): Schritte für Treiberentwickler.

SoftwareBinary={dateiname}
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 dem DriverStore hinzufügen, indem Sie die INF CopyFiles-Direktive mit dem DestinationDirs-Wert 13 angeben.

Hinweis

Informationen zu Einschränkungen für SoftwareBinary-Einträge und -Werte finden Sie unter SoftwareType.

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 an die generierte Befehlszeile übergibt. Sie können auch spezielle Zeichenfolgen angeben, die als Laufzeitkontextvariablen bezeichnet werden. Wenn Sie eine Laufzeitkontextvariable angeben, konvertiert das System sie in einen gerätespezifischen Wert, bevor er an die generierte Befehlszeile angefügt wird. Sie können Literalzeichenfolgenargumente mit Laufzeitkontextvariablen mischen und abgleichen. Unterstützte Laufzeitkontextvariablen sind:

<<DeviceInstanceID>>

Das System ersetzt die oben genannte Zeichenfolge durch das Gerät instance 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

Dies führt zu Folgendem:

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

Hinweis

Informationen zu Einschränkungen für SoftwareArguments-Einträge und -Werte finden Sie unter SoftwareType.

SoftwareVersion={w.x.y.z}
Gibt die Softwareversion an. Jeder Wert sollte 65535 nicht überschreiten. Wenn das System auf einen doppelten SoftwareName stößt, überprüft es die SoftwareVersion mit der vorherigen SoftwareVersion. Wenn sie größer ist, führt Windows die Software aus.

Hinweis

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

SoftwareID={x.y.z}
Gibt einen Microsoft Store-Bezeichner und -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 Universelle Windows-Plattform-App (UWP) zu verweisen.

Hinweis

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

Weitere Informationen

Verwenden einer Component INF-Datei

INF DDInstall.Software-Abschnitt

INF AddComponent-Direktive

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

Hardwareunterstützungs-App (HSA): Schritte für Treiberentwickler