Freigeben über


Aktualisieren von Treiberdateien

Treiber werden immer dann aktualisiert, wenn einer der folgenden Ereignisse auftritt:

  • Der Hardwareupdate-Assistent wird über Geräte-Manager ausgeführt.

    Hinweis Ab Windows Vista wird dieser Assistent jetzt als Assistent zum Aktualisieren von Treibersoftware bezeichnet.

  • Windows Update wird ausgeführt.

  • Die Installationssoftware für ein Gerät wird ausgeführt.

  • Ab Windows Vista können Sie das PnPUtil-Tool an einer Eingabeaufforderung mit erhöhten Rechten ausführen, um das Treiberpaket für das Gerät zu installieren oder zu aktualisieren.

Verwenden Sie die folgenden Richtlinien, wenn Sie Installationssoftware und INF-Dateien schreiben, die vorhandene Treiber aktualisieren.

  • Installationssoftware kann UpdateDriverForPlugAndPlayDevices aufrufen und eine INF-Datei und eine Hardware-ID bereitstellen, um Treiber für Geräte zu aktualisieren, die der Hardware-ID entsprechen.

    Ab Windows Vista kann die Installationssoftware auch einen der folgenden Aufrufe ausführen, um Treiber zu aktualisieren:

    • DiInstallDriver, der einen Treiber vorab installiert und dann den Treiber auf Geräten installiert, die im System vorhanden sind, das vom Treiber unterstützt wird.
    • DiInstallDevice installiert einen angegebenen Treiber aus dem Treiberspeicher auf einem angegebenen Gerät, das im System vorhanden ist.

    Weitere Informationen finden Sie unter Schreiben einer Geräteinstallationsanwendung.

  • Beim Aktualisieren eines Treibers sollten Klasseninstallateure und Co-Installer als Reaktion auf DIF_NEWDEVICEWIZARD_FINISHINSTALL keine Seiten zur Endinstallation bereitstellen, es sei denn, dies ist unbedingt erforderlich. Rufen Sie nach Möglichkeit Informationen zur Abschlussinstallation aus den Einstellungen der vorherigen Installation ab.

  • Soweit möglich sollten Klasseninstallationsprogramme und Co-Installer vermeiden, das Verhalten darauf zu basieren, ob sie eine Erstinstallation bereitstellen oder Treiber für ein bereits installiertes Gerät aktualisieren.

  • Ab Windows XP werden die Registrierungswerte CoInstallers32 und EnumPropPages32 vor der Übermittlung von DIF_REGISTER_COINSTALLERS gelöscht. INF-Dateien für frühere Betriebssystemversionen müssen diese Werte explizit löschen oder einen nicht ausstehenden Änderungsvorgang ausführen.

  • Ab Windows XP werden die Registrierungswerte UpperFilters und LowerFilters vor der Übermittlung von DIF_INSTALLDEVICE gelöscht. INF-Dateien für frühere Betriebssystemversionen müssen diese Werte explizit löschen oder einen nicht ausstehenden Änderungsvorgang ausführen.

  • Verwenden Sie beim Aktualisieren von Treibern keine INF DelFiles-Direktiven oder INF RenFiles-Anweisungen . Windows kann nicht garantieren, dass eine bestimmte Datei nicht von einem anderen Gerät verwendet wird. (Klasseninstallationsprogramme und Co-Installer können Dateien löschen oder umbenennen, wenn sie zuverlässig feststellen können, dass keine Geräte die Dateien verwenden.)

  • Verwenden Sie die INF DelReg-Anweisung , um alte gerätespezifische Registrierungseinträge aus einer früheren Installation des Geräts zu entfernen, wenn die Einträge nicht mehr benötigt werden. (Entfernen Sie keine globalen Registrierungseinträge.)

  • Verwenden Sie die INF DelService-Direktive in einem INF DDInstall.Services-Abschnittnicht, um zuvor installierte Geräte-/Treiberdienste vom Zielcomputer zu entfernen. Windows kann nicht garantieren, dass ein bestimmter Dienst nicht von einem anderen Gerät verwendet wird. (Klasseninstallationsprogramme und Co-Installer können Dienste löschen, wenn sie zuverlässig feststellen können, dass keine Geräte die Dienste verwenden.)

  • Beim Aktualisieren eines Klasseninstallationsprogramms, eines Klassen-Co-Installers oder einer Dienst-DLL müssen Sie der neuen Version einen neuen Dateinamen zuweisen.

Weitere Informationen zu INF-Dateien finden Sie unter Erstellen einer INF-Datei und INF-Dateiabschnitte und -direktiven.