DPInst Treiber Installation

Ich verwende DPInst (Driver Package Installer) gerne um Treiber, nachträglich per SCCM, zu verteilen und um Treiber für Geräte bereitzustellen, die während der Windows Installation nicht angeschlossen sind. DPInst besteht aus jeweils einer „.exe“-Datei für 32- und 64-Bit Windows. Das Tool ist unkompliziert und Arbeitet problemlos. Es gibt jedoch ein paar Dinge zu beachten.

Update: Achtung! Die „dpinst.exe“ ist im aktuellen WDK leider nicht mehr enthalten. Laut Kommentaren ist es allerdings noch in folgender Version enthalten: http://download.microsoft.com/download/C/E/1/CE19C726-6036-4443-845B-A652B0F48CD7/wdk/wdksetup.exe

WDK installieren (um dpinst.exe zu erhalten)

Die Datei „dpinst.exe“ wird leider nicht separat zum Download angeboten. Sie ist allerdings im Windows Driver Kit (WDK) enthalten.

Das WDK könnt ihr über folgenden Link herunterladen: https://msdn.microsoft.com/de-de/windows/hardware/hh852365.aspx  

http://download.microsoft.com/download/C/E/1/CE19C726-6036-4443-845B-A652B0F48CD7/wdk/wdksetup.exe

Auf der Webseite wählt ihr „Installieren des Windows-Treiberkits (WDK) 10“, dann startet der Download der „wdksetup.exe“

DPInst - WDK herunterladen

Führt die heruntergeladene wdksetup.exe aus und folgt dem Installations-Wizard. Der Installer lädt noch einige Dateien herunter, ca. 850 MB. Es gibt auch die Möglichkeit, die Dateien für einen Computer ohne Internet herunter zu laden.

Dpinst - WDK installieren 1

Dpinst - WDK installieren 2

Die nachfolgende Meldung ist für uns nicht relevant und kann ignoriert werden.

Dpinst - WDK installieren 3

Dpinst - WDK installieren 4

Dpinst - WDK installieren 5

Dpinst - WDK installieren 6

Nach der Installation findet man die „dpinst.exe“ unter dem Pfad C:\Program Files (x86)\Windows Kits\10\redist\DIFx\dpinst\MultiLin\x64 für 64 Bit Betriebssysteme und C:\Program Files (x86)\Windows Kits\10\redist\DIFx\dpinst\MultiLin\x86 für 32 Bit Betriebssysteme. Bitte beachtet, dass die 32 Bit Variante unter einem 64 Bit Windows nicht funktioniert.

Dpinst - WDK Pfad

DPInst Parameter

Ein Beispiel für die „silent“ Ausführung, über die Kommandozeile, sieht so aus: „dpinst.exe" /S /C /F /L 1033 /SE /SA /SW /PATH "%~dp0extracted"

Die Parameter haben folgende Bedeutung:

/C: log Meldungen in der Kommandozeile anzeigen

/F: Treiber für ein Gerät installieren, auch wenn ein besserer Treiber bereits vorhanden ist

/L <SPRACH-ID>: Texte und Bilder werden entsprechend der Sprach-ID konfiguriert. Deutsch:1031, Englisch:1033

/S: Silent installieren

/SA: kein Eintrag unter „Programme und Funktionen“ in der Systemsteuerung

/SE: EULA Anzeige unterdrücken

/PATH: Pfad zum Treiber Ordner (Achtung! Unterordner müssen per XML angegeben werden)

Weitere Kommandozeilen Parameter findet man bei Microsoft: https://msdn.microsoft.com/en-us/library/windows/hardware/ff544775(v=vs.85).aspx

Die Deinstallation von Treibern kann über folgenden Aufruf gestartet werden: DPInst.exe /u <Pfad zur INF>

Weitere Informationen zur Deinstallation findet ihr bei Microsoft: https://msdn.microsoft.com/en-us/library/windows/hardware/ff553603(v=vs.85).aspx

DPInst Return Codes

DPInst verwendet eigene Return Codes und hält sich nicht an den gewohnten Standard. Das kann unter anderem bei SCCM zu Fehlermeldungen führen, obwohl die Installation erfolgreich war.

Die Return Codes haben folgenden Aufbau: 0xAABBCCDD

Code-Anteil Bedeutung
AA 3 Möglichkeiten: „80“ Ein Treiber Paket konnte nicht installiert werden. „40“ Ein Neustart ist notwendig. „00“ Keines von den vorherigen beiden trifft zu
BB Anzahl der Treiber Pakete die nicht installiert werden konnten
CC Anzahl der Treiber die in den Treiber Store kopiert wurden, aber nicht für ein Gerät installiert wurden (trifft zu wenn das Gerät z.B. nicht angeschlossen ist)
DD Anzahl der Treiber  die für ein Gerät installiert wurden

Beispiele:

0x100: 1 Treiber wurde erfolgreich installiert, aber nicht für ein vorhandenes Gerät installiert

0x1: Treiber wurde erfolgreich installiert

0x8000000: Der Treiber konnte nicht installiert werden

DPInst Treiber Paket erstellen

Um ein Paket zu erstellen, sollte immer die Datei dpinst.exe mitgegeben werden. Bei einer Größe von ca. 1 MB ist das zu verschmerzen. Der Treiber selbst muss natürlich auch mitgeliefert werden. Der Übersicht halber lege ich diesen in einem Unterordner ab. Das ganze wird dann über eine Batch Datei ausgeführt.

Dpinst - Paket vorbereiten

Die Batch Datei enthält die Kommandozeile, die ich bereits bei den Parametern gezeigt habe.

Hinweis: %~dp0 verweist auf den Ausführungspfad der Batch-Datei. Der Strich danach ist der Cursor, den ich zur optischen Trennung dort platziert habe.

Dpinst - Paket vorbereiten 2

Die Ausführung wird detailliert Protokolliert. Der Return Code 0x100 bedeutet, dass ein Treiber installiert wurde.

dpinst - treiber installieren

Die Treiber können nach der Installation für Geräte gewählt werden (hier über „Drucker hinzufügen“). Wenn ein neues Gerät angeschlossen wird, wird der Treiber automatisch ausgewählt. Vorausgesetzt, es ist kein besserer vorhanden.

dpinst - treiber installiert

       

5 Gedanken zu „DPInst Treiber Installation“

  1. Danke für die Beschreibung;
    bei mir werden in ..redist nur die Unterverzeichnisse offreg und wdf erstellt – von DIFx weit und breit keine Spur…
    Sind noch irgendwelche Vorbedinungen notwendig, damit dieser Zweig mitinstalliert wird ?

    Thomas Illies

    Antworten
    • Wie Ansgar Geers schreibt, ist die dpinst.exe leider nicht mehr im aktuellen WDK enthalten. Sobald ich eine neue Möglichkeit gefunden habe werde ich den Artikel aktualisieren.

      Antworten

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.