Wie man ein benutzerdefiniertes Treiberpaket für Massenbereitstellungen erstellt

Letzte Aktualisierung: 24/05/2026
Autor: Holger
  • Ein Treiberpaket fasst INF-Dateien, Binärdateien und andere Dateien zusammen, die für eine konsistente Installation von Treibern benötigt werden.
  • Mithilfe von Tasksequenzen mit WMI-Abfragen können Treiberpakete nur auf bestimmten Hardwaremodellen bereitgestellt werden.
  • Visual Studio macht es einfach, Paketprojekte zu erstellen und zu modifizieren, die die Ausgabe eines oder mehrerer Controller sammeln.
  • Die Kombination aus Treiberpaketen und Remote-MSI-Bereitstellungen ermöglicht eine zentralisierte und skalierbare Verwaltung.

Benutzerdefiniertes Treiberpaket für Masseninstallationen

Wenn Sie es schaffen massive Bereitstellungen von Betriebssystemen und AnwendungenFrüher oder später stößt man auf dasselbe Problem: Treiber. Ohne eine klare Treiberstrategie kommt es zu seltsamen Fehlern, Fehlfunktionen von Geräten und Beschwerden von Benutzern, deren neuer Computer die Netzwerkkarte nicht einmal erkennt. Deshalb überlegen immer mehr Administratoren, wie sie eine Treiberkonfiguration optimal gestalten. benutzerdefiniertes Treiberpaket dass sie diese problemlos wiederverwenden und aktualisieren können.

Darüber hinaus reicht es in Umgebungen mit einer Vielzahl an Hardware nicht aus, alle Treiber einfach in einem einzigen Block zusammenzufassen. Sie müssen in der Lage sein, zu navigieren zu spezifische Gerätemodelle, Automatisieren Sie die Installation Und wenn möglich, ermöglichen Sie dem Benutzer, Treiberaktualisierungen selbstständig über das Unternehmenssoftwarecenter zu initiieren, ohne dass Sie jedes Mal eingreifen müssen. Hier liegt die Kombination aus Aufgabensequenzen, Treiberpakete und WMI-Abfragen.

Was genau ist ein Treiberpaket und wie unterscheidet es sich von einem Treiberprojekt?

In der Welt von Microsoft und Visual Studio ist es wichtig, klar zu unterscheiden zwischen Controller-Projekt y TreiberpaketDenn obwohl sie ähnlich klingen, erfüllen sie im Entwicklungs- und Bereitstellungszyklus unterschiedliche Funktionen.

Ein Controller-Projekt ist, einfach ausgedrückt, das Visual Studio-Projekt, das die Treiberbinärdatei generiertEs erzeugt üblicherweise eine Datei vom Typ .sys oder eine andere controllerspezifische Binärdatei und kann auch die INF-Datei Das zugehörige Projekt definiert die Installation des Treibers und die unterstützte Hardware. In diesem Projekt schreibt, kompiliert und debuggt der Entwickler den Treiber.

Ein Fahrerpaket hingegen ist das Sammlung aller Dateien, die zur Installation eines Geräts benötigt werden Unter Windows umfasst dies die INF-Datei, die in der INF-Datei referenzierten Binärdateien (wie die .sys-Datei und andere Bibliotheken) sowie alle für die Installation benötigten Hilfsdateien. Dieses Paket wird sowohl für manuelle als auch für automatische Installationen verwendet. automatisierte Bereitstellungen und Ferntests.

Visual Studio verwendet diese Treiberpakete, um Folgendes zu ermöglichen: automatisch implementieren und debuggen Der Treiber wird auf dem Zielrechner installiert. Das heißt, anstatt Dateien manuell zu kopieren, generiert die Entwicklungsumgebung ein Paket und sendet es an den Remote-Rechner, wo es getestet wird, wobei die gesamte in der INF-Datei definierte Installationslogik angewendet wird.

Darüber hinaus ist ein Treiberpaketprojekt ein unabhängiges Projekt innerhalb der LösungDieser Prozess beinhaltet das Kompilieren der Ausgabe eines oder mehrerer Treiberprojekte. Beim Kompilieren dieses Paketprojekts wird das Paket generiert, das anschließend für die Bereitstellung und das Debugging verwendet wird. In vielen Fällen erstellt die Visual Studio-Vorlage automatisch die beiden Projekte: eines für den Treiber und eines für sein Paket.

Wie werden Treiberpakete in Massenbereitstellungen integriert?

In Systemadministrationsszenarien ist es üblich, dass Die Treiberverteilung ist Teil einer Tasksequenz für die Image-Bereitstellung.Mit anderen Worten: Wenn Sie ein Betriebssystem in großem Umfang verteilen (zum Beispiel mit dem Configuration Manager oder einem ähnlichen Tool), integrieren Sie spezifische Schritte, um die richtigen Treiber auf jedem Computermodell zu installieren.

Eine gängige Praxis ist die Erstellung von Schritte zum „Bereitstellen des Treiberpakets“ innerhalb der Abfolge der Aufgaben. Jeder dieser Schritte hat einen zugehörigen WMI-Abfrage Dadurch wird festgelegt, wann es ausgeführt wird. So können Sie Ihren gesamten Bestand an unterschiedlicher Hardware abdecken und gleichzeitig sicherstellen, dass nur die für ein bestimmtes Gerätemodell vorgesehenen Treiber installiert werden.

  Was ist das Windows Virtual Hardware Lab Kit (VHLK) und wie kann man es optimal nutzen?

Beispielsweise können Sie einen Schritt konfigurieren, der nur dann ausgeführt wird, wenn die WMI-Abfrage einen bestimmten Wert zurückgibt. Gerätemodell oder HerstellerDadurch wird verhindert, dass Sie ein falsches Treiberpaket installieren. Dies ist besonders nützlich bei der Verwaltung gemischte Flotten von Laptops und Desktop-PCs verschiedener Herstellerwo das Mischen von Treibern zu Konflikten, Bluescreens oder Funktionsstörungen der Geräte führen könnte.

Dieser Ansatz trägt dazu bei, ein Geordnete Struktur der TreiberpaketeDies vereinfacht auch die Wartung. Wenn eine neue Treiberversion für ein bestimmtes Modell veröffentlicht wird, muss lediglich das entsprechende Paket aktualisiert werden, und die Abfolge der Aufgaben bleibt gleich, wobei die bereits definierten WMI-Abfragen berücksichtigt werden.

Die Effektivität dieser Methode veranlasst viele Administratoren, darüber nachzudenken, ob sie noch einen Schritt weiter gehen könnten: die Verwendung eines Abfolge von Aufgaben, die ausschließlich aus Treiberbereitstellungsschritten besteht, verfügbar im Softwarecenter, sodass der Endbenutzer seine Systemtreiber selbst aktualisieren kann, ohne auf die Bereitstellung eines vollständigen Images warten zu müssen.

Tasksequenz nur für Treiber: Ist sie als Update über das Softwarecenter praktikabel?

Die Idee klingt sehr verlockend: ein/e zu erschaffen Abfolge von Aufgaben, die ausschließlich der Installation oder Aktualisierung von Treiberpaketen gewidmet sindohne das Systemabbild zu verändern, soll es den Benutzern zur Verfügung gestellt werden, damit sie es bei Bedarf aus dem Unternehmenssoftwarezentrum ausführen können. Ziel wäre es, eine Art „zentralisierter Treiberaktualisierungsdienst"wird von der IT verwaltet."

In der Praxis kann dieselbe Logik, die Sie bei der Image-Bereitstellung verwenden, wiederverwendet werden: Schritte von „Treiberpaket bereitstellen“ mit WMI-Abfragen zum Filtern nach GerätemodellDer Computer des Benutzers würde die Sequenz ausführen, die Anfragen würden beantwortet und nur die mit seiner Hardware kompatiblen Pakete würden installiert.

Diese Vorgehensweise hat mehrere offensichtliche Vorteile. Der wichtigste ist, dass Sie dabei Folgendes beibehalten zentralisierte Steuerung der FahrerverteilungDadurch wird sichergestellt, dass die verwendeten Versionen von der Systemabteilung getestet und validiert werden. Außerdem verringert es die Versuchung für Benutzer, Treiber von beliebigen Websites herunterzuladen, mit den damit verbundenen Sicherheits- und Stabilitätsrisiken.

Es ermöglicht Ihnen außerdem, die Treiberaktualisierung ohne vollständige SystembereitstellungWenn Sie ein neues Treiberpaket für ein Modell einbinden, fügen Sie es der Aufgabenabfolge hinzu, und ab diesem Zeitpunkt kann jeder Benutzer mit diesem Computer die Aufgabe ausführen und das Update erhalten.

Damit das Ganze gut funktioniert, ist es entscheidend, die Abfolge so zu gestalten, dass die Schritte idempotent und sicher (z.B. mit Fahrer)Wenn der Treiber bereits installiert oder aktuell ist, sollte die Installation keine Probleme verursachen oder das System instabil machen. Darüber hinaus wird empfohlen, die Paketkombination sorgfältig zu testen, bevor sie allen Benutzern zur Verfügung gestellt wird.

Manuelles Erstellen eines Treiberpakets in Visual Studio

Aus Entwicklersicht ist es möglich, dass Ihre Visual Studio-Lösung noch keine TreiberpaketprojektIn diesem Fall ist es möglich, es manuell zu erstellen und mit einem oder mehreren bestehenden Controller-Projekten zu verknüpfen, um das Paket zu generieren, das Sie dann auf den Zielrechnern bereitstellen.

  Optimieren Sie den Systemstart mit Schnellstart, Boot-Trace und Treibern.

Hierfür wird die Option verwendet, um Erstellen Sie ein neues Projekt innerhalb der LösungIn Visual Studio gehen Sie im Menü „Datei“ auf „Neu“ und dann auf „Projekt“. Dort finden Sie eine Vorlage speziell für Treiberpakete, die den gesamten Prozess vereinfacht. Wenn Sie Ihren ersten Treiber von Grund auf neu erstellen, sind die Beispiele und Tutorials zum Schreiben des ersten Treibers eine gute Ressource, um sich mit diesem Workflow vertraut zu machen.

Bei einer bestehenden Lösung, die bereits das Controller-Projekt, aber nicht das Paketprojekt enthält, ist es üblich, die Vorlage mit dem Namen zu verwenden. „Treiberinstallationspaket“Im Dialogfeld „Neues Projekt“ müssen Sie den Abschnitt „Windows-Treiberpaket“ suchen und die entsprechende Vorlage auswählen.

Sobald die Vorlage ausgewählt wurde, ist es wichtig, in der Dropdown-Liste für die Lösungsverwaltung die Option zu aktivieren. „Zur Lösung beitragen“Dadurch wird das Paketprojekt in die übrigen Projekte integriert. Klicken Sie anschließend einfach auf „Akzeptieren“, und Visual Studio generiert die notwendige Struktur, sodass Sie konfigurieren können, welche Controller in das Paket aufgenommen werden sollen.

Im idealen Arbeitsablauf, wenn Sie von Anfang an eine Treibervorlage verwenden, ist die Lösung bereits erstellt mit zwei separate ProjekteEine für den Treiber selbst und eine weitere für das Treiberpaket. Sollte dies aus irgendeinem Grund nicht der Fall sein, ermöglicht Ihnen das oben beschriebene manuelle Verfahren, Ihre Lösung an empfohlene Best Practices anzupassen.

Modifizierung eines bestehenden Treiberpakets

Wenn Ihre Lösung bereits eine konfiguriertes TreiberpaketHäufig ist es notwendig, das Paket an neue Anforderungen anzupassen, zusätzliche Controller hinzuzufügen oder die im Paket enthaltenen Projekte zu ändern. Visual Studio vereinfacht diese Aufgabe durch die Verwaltung von Paketprojektverweisen.

Im Projektmappen-Explorer müssen Sie das Projekt suchen, das als TreiberpaketDurch Erweitern wird der Knoten „Referenzen“ angezeigt. Ein Rechtsklick auf diesen Knoten und die Auswahl von „Referenz hinzufügen“ ermöglicht es Ihnen, die Projekte in der Projektmappe auszuwählen, die in das Paket aufgenommen werden sollen.

Diese Funktionalität ist besonders nützlich, wenn Sie eine Lösung entwickeln, die mit einem einzelnen Treiber beginnt und dann weitere zugehörige Treiber integriert. Anstatt für jeden Treiber ein separates Paket zu erstellen, können Sie Zentralisierung mehrerer Treiber in einem einzigen Paketprojekt...vorausgesetzt, es passt zu Ihrer Bereitstellungs- und Teststrategie.

Umgekehrt können Sie, wenn Sie ein bestimmtes Treiberprojekt nicht mehr in diesem Paket einbinden möchten, einfach den entsprechenden Verweis auswählen und die Option „Entfernen“ wählen. Dadurch wird verhindert, dass das Paket die Ausgabe dieses Projekts während der Kompilierung erfasst.

Dieser modulare Ansatz bietet Ihnen die Flexibilität, Passen Sie die Zusammensetzung Ihrer Treiberpakete an. ohne alles von Grund auf neu machen zu müssen, was besonders interessant ist, wenn man mit mehreren Treiberversionen arbeitet oder verschiedene Sets testet, bevor man sich für das endgültige Produktionspaket entscheidet.

Verwaltung mehrerer Controller innerhalb einer einzigen Lösung

In komplexen Umgebungen ist es üblich, dass eine einzelne Visual Studio-Projektmappe Folgendes enthält: verschiedene Treiber und die dazugehörigen PaketeDiese Struktur ermöglicht es, zusammengehörige Funktionen zu gruppieren, gemeinsamen Code wiederzuverwenden und die Treibergruppe auf eine kohärente und wartungsfreundliche Weise zu verwalten.

Wie zuvor können Sie entscheiden, ob Sie erstellen möchten. neue Treiberlösungen mit eigenen Paketen Alternativ können Sie der bestehenden Lösung weitere Treiber hinzufügen. Falls die Lösung bereits ein Treiberpaketprojekt enthält, können Sie dieses so anpassen, dass es auf neue Treiberprojekte innerhalb derselben Lösung verweist.

  So verwenden Sie Driver Booster zum Automatisieren von Updates: Eine vollständige Anleitung

Die Vorgehensweise besteht darin, das Paketprojekt im Projektmappen-Explorer zu öffnen, mit der rechten Maustaste auf „Verweise“ zu klicken und „Verweis hinzufügen“ auszuwählen. Anschließend wählen Sie das gewünschte zusätzliche Treiberprojekt aus. Beim Erstellen des Pakets werden dann die Ausgaben aller referenzierten Projekte berücksichtigt.

Falls Sie Ihre Architektur zu irgendeinem Zeitpunkt vereinfachen oder neu organisieren müssen, können Sie dies auch tun. Verweise auf spezifische Projekte entfernenWählen Sie einfach das Projekt aus, auf das Sie nicht mehr verweisen möchten, klicken Sie mit der rechten Maustaste und wählen Sie die Option „Entfernen“. Dadurch wird das Paket an die neue Konfiguration angepasst, ohne die anderen Elemente der Lösung zu beeinträchtigen.

Ein klassisches Beispiel für diese Arbeitsweise ist das bekannte „Toaster Sample Driver“Dieses Beispielprojekt veranschaulicht, wie eine einzelne Lösung mehrere Treiber und zugehörige Pakete enthalten kann. Die Analyse solcher Beispiele ist eine gute Möglichkeit, zu verstehen, wie Sie Ihre eigenen Lösungen strukturieren, wenn Sie mehrere zusammengehörige Treiber gruppieren müssen.

Massenbereitstellung mithilfe von MSI-Paketen und Fernverwaltungstools

Obwohl der Schwerpunkt von Treiberpaketen auf dem Visual Studio-Ökosystem und der Treiberbereitstellung liegt, kombinieren viele Organisationen diesen Ansatz in der Praxis mit MSI-Pakete und Fernverwaltungstools zur Verteilung zugehöriger Software, Agenten oder Support-Dienstprogramme.

Ein typisches Beispiel ist die Bereitstellung eines MSI-Pakets für eine Fernzugriffsanwendung wie RemotePC über ein zentrales Verwaltungstool wie Desktop Central. Vom Administratorrechner aus wird die Aufgabe konfiguriert, die die Installation ermöglicht. MSI in mehreren Teams oder Gruppen vollständig ferngesteuert, ohne Eingriff des Benutzers.

Dieses Bereitstellungsmuster ist dem für Controller verwendeten sehr ähnlich: a standardisiertes installierbares PaketDie Software wird einer Gruppe von Zielrechnern zugewiesen, und die Managementinfrastruktur übernimmt deren Bereitstellung und Installation. Der Administrator kann anschließend die vom Softwareanbieter bereitgestellten detaillierten Schritte befolgen, um die Bereitstellung ordnungsgemäß zu konfigurieren.

Obwohl sich dieses konkrete Beispiel auf die RemotePC MSI-Datei bezieht, ist der gleiche Ansatz auf alle RemotePC-Dateien anwendbar. MSI-Paket mit Treibern, Dienstprogrammen oder Herstellertools die Sie in großem Umfang verteilen möchten. Der Schlüssel liegt darin, die Integration mit der Managementplattform zu nutzen, um ferngesteuerte, kontrollierte und wiederholbare Installationen zu planen.

Durch die Kombination dieser Funktionen mit Ihren individuellen Treiberpaketen können Sie eine umfassende Strategie entwickeln, bei der Treiber, Hersteller-Dienstprogramme und Support-Tools koordiniert bereitgestellt und aktualisiert werden, wodurch der manuelle Aufwand reduziert und Fehler minimiert werden.

Wenn man all diese Elemente zusammenfügt – gut strukturierte Treiberpakete, auf WMI-Abfragen basierende Aufgabensequenzen, die Möglichkeit, eine reine Treiberaufgabe vom Softwarecenter aus auszuführen, und die Remote-Bereitstellung über MSI – erhält man Eine sehr robuste Plattform für die Verwaltung von Treibern und zugehöriger Software in großem Umfang.Dadurch können Sie Ihre Geräteflotte auf dem neuesten Stand halten, hardwarebedingte Probleme reduzieren und den Benutzern ein stabileres und vorhersehbareres Erlebnis bieten, ohne ständig Systemabbilder neu erstellen zu müssen.

Treiberzertifikate und -signaturen in Windows
In Verbindung stehender Artikel:
Treiberzertifikate und -signaturen unter Windows: Ein vollständiger Leitfaden