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:
Wenn Sie ein MSI-Installationsprogramm verwenden, richten Sie ein Hinzufügen/Entfernen von Programmen Eintrag im Windows Installer-Paket der Anwendung ein.
Wenn Sie eine benutzerdefinierte EXE verwenden, die den globalen Registrierungs-/Dateistatus installiert (anstatt lokale Geräteeinstellungen zu ergänzen), verwenden Sie den Registrierungsschlüssel deinstallieren.
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:
Um eine Win32-App vorab zu installieren, starten Sie mit dem Überwachungsmodus, und installieren Sie die App. Ausführliche Informationen finden Sie unter Übersicht über den Überwachungsmodus.
Informationen zum Vorinstalliert einer Microsoft Store-App (UWP) finden Sie unter vorinstallierten Apps für Desktopgeräte
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
Koppeln eines Treibers mit einer UWP-App (Universelle Windows-Plattform)