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.