Druckerinstallation und Plug & Play-Manager
Der Plug & Play-Manager verarbeitet alle Plug & Play Ereignisse für den Computer und ist für alle Geräte generisch. Der Plug & Play Manager ist in Plug & Play dokumentiert. Die Einführung in Plug & Play bietet einen Überblick über Plug & Play Installation und die Interaktion der verschiedenen Kernelmodus- und Benutzermoduskomponenten.
Unterschiede bei der Druckerinstallation zwischen Windows 98/Me und Windows 2000 und höher
Die Plug & Play Architektur unter Windows 2000 und höher unterscheidet sich von der Architektur unter Windows 95/98/Me. Die wichtigsten Unterschiede sind:
Die in Windows 2000 und höher enthaltenen Treiber sind in einer Datei enthalten, driver.cab, die installiert wird, wenn das Betriebssystem installiert wird. Diese Datei enthält alle Plug & Play In-Box-Treiber für alle Gerätetypen, sodass der Benutzer normalerweise nicht das ursprüngliche Installationsmedium benötigt, um einen Treiber zu installieren.
Für die Installation eines bestimmten Treibers ist nur wenig oder gar kein Benutzereingriff erforderlich. Wenn ein Von Microsoft digital signierter Windows 2000- oder höher-Treiber auf dem Computer driver.cab oder bereits installiert ist, überprüft Plug & Play die Treibersignatur und installiert den Treiber ohne Benutzereingriff. Dieser Installationstyp wird als serverseitige Installation bezeichnet. Wenn der Treiber auf dem System nicht verfügbar oder nicht signiert ist oder die Treiberinstallation eine Interaktion mit dem Benutzer erfordert (über Benutzeroberflächenelemente), wird Plug & Play zu einer clientseitigen Installation zurückgesetzt. Wenn ein Computer mit einem neuen Plug & Play gerät gestartet wird, das daran angeschlossen ist, ist das Gerät in den meisten Fällen installiert und kann verwendet werden, wenn sich der Benutzer anmeldet.
Wenn der Benutzer in der Lage sein muss, den zu installierenden Treiber auszuwählen, können Sie eine InteractiveInstall-Direktive im Abschnitt INF ControlFlags verwenden. Diese Direktive kann nur unter den folgenden zwei Umständen verwendet werden:
So installieren Sie Geräte, die falsch definierte Hardware-IDs haben. Dies kann auftreten, wenn ein Hardwaregerät über eine beschädigte Hardware-ID verfügt oder wenn ein Hardwarehersteller zwei verschiedenen Geräten dieselbe Hardware-ID zuweist. Dies ist ein Fehler beim Hardwareentwurf.
So installieren Sie einen Treiber für ein Gerät, das nicht den generischen Klasseninstaller oder einen Treiber verwenden kann, der mit dem Betriebssystem bereitgestellt wird.
Wenn Hardware-IDs oder kompatible IDs mit der InteractiveInstall-Direktive aufgeführt werden, verschiebt Setup die Installation von Druckern, die diese IDs übereinstimmen, auf die Clientseite, sodass die Installation verzögert wird, bis sich ein Administrator anmeldet. Der Administrator wird aufgefordert, die richtigen Treiberdateien zu installieren. Dies ist nützlich, wenn zwei Druckertreiber dieselbe Geräte-ID verwenden, aber unterschiedliche Treiber erfordern.
Im Gegensatz zu Windows 2000 und höher installiert Windows 95/98/Me Plug & Play Geräte ohne Benutzereingriff nur, wenn eine Hardware-ID (rang-0) übereinstimmt. Wenn eine kompatible ID (Rang-1) für den Treiber eines Plug & Play Geräts, aber keine Hardware-ID-Übereinstimmung vorhanden ist, wird der Benutzer aufgefordert, den richtigen Treiber auf dem Installationsmedium auszuwählen. (Dies bedeutet, dass der Benutzer über die Installationsmedien verfügen muss, um den Treiber installieren zu können.)
Wenn ein Treiber auch unter Windows 95/98/Me für mehrere Geräte (oder für ähnliche Geräte in mehreren Bussen) geschrieben wird, wird der Benutzer immer zur Installation aufgefordert, wenn nur die kompatible ID aufgeführt wurde, es sei denn, jede mögliche Hardware-ID ist mit einem doppelten Treibereintrag in der INF-Datei aufgeführt.
Erkennung doppelter Installationen
Wenn setup den Druckerklasseninstallationsprogramm aufruft, um einen Drucker zu installieren, bestimmt das Klasseninstallationsprogramm, ob der Drucker bereits manuell installiert wurde. Dazu sucht er nach genauen Übereinstimmungen zwischen den Treiber- und Portnamen der derzeit installierten Drucker und den in der INF-Datei aufgeführten Druckern. Wenn der Klasseninstaller eine installierte Druckwarteschlange findet, deren Treiber- und Portnamen mit diesen beiden Parametern übereinstimmen, wird keine zweite Druckwarteschlange installiert, sondern dem Eintrag devnode zugeordnet. Dadurch wird verhindert, dass eine zweite Druckwarteschlange für dasselbe Gerät erstellt wird.
Eine Reihe gängiger Druckermodelle verwenden dieselbe Hardware-ID (z. B. die HP DeskJet-Serie). Wenn ein Benutzer unter Windows 95/98/Me manuell ein DeskJet-Modell installiert, das anschließend von Plug & Play erkannt wird, wird eine zweite Druckwarteschlange installiert, wenn der Benutzer den entsprechenden Treiber auswählt. Wenn der Benutzer keinen Treiber auswählt, wird er bei jedem Neustart des Computers dazu aufgefordert.
Windows 2000 und höher vermeidet dieses Verhalten, indem alle Drucker mit einer Hardware-ID und einer kompatiblen ID-Übereinstimmung aufgelistet werden. Wenn mehrere Übereinstimmungen gefunden werden, überprüft das Klasseninstallationsprogramm, ob bereits eine Druckwarteschlange mit derselben Hardware-ID-Übereinstimmung vorhanden ist. Falls vorhanden, installiert der Plug & Play Manager keine zweite Warteschlange. Andernfalls wird die Hardware-ID-Übereinstimmung auf eine kompatible ID-Übereinstimmung herabgestuft. Wenn diese Hardware-IDs auch im Eintrag InteractiveInstall (siehe ABSCHNITT INF ControlFlags) der INF-Datei aufgeführt sind, wird der Benutzer aufgefordert, einen Treiber auszuwählen.