Drucker auf Windows 7 64-bit im Netzwerk freigeben

Drucker im Netzwerk zur gemeinsamen Nutzung zur Verfügung zu stellen ist nicht nur in Firmennetzwerken eine Standardaufgabe. In der Vergangenheit haben viele Anwender auch zu Hause einen Drucker zur gemeinsamen Nutzung konfiguriert. Während das bei Windows XP und Windows Vista ein mühsame und manuelle zu erledigende Aufgabe war, kann Windows 7 mit der neuen Heimnetzwerkfunktion angeschlossene Drucker mit einem Mausklick allen Mitgliedern der Heimnetzwerkgruppe zur Verfügung stellen.

Möglicherweise hat man aber nicht nur Windows 7-Rechner zu Hause im Einsatz, sondern auch andere PCs oder Laptops mit Windows Vista, Windows XP oder sogar noch Windows 2000 am Laufen. Ich möchte jetzt nicht in die Details der Konfiguration eines gemeinsamen Netzwerks zwischen verschiedenen Windows-Versionen einsteigen – hier gibt es genügend Anleitungen, die beschreiben, wie man eine passende IP-Konfiguration zur Vernetzung einrichtet und Benutzerkonten mit gleichem Benutzernamen und gleichen Kennworten auf allen Rechnern anlegt.

Ich möchte vielmehr aufzeigen, welche Fallstricke der Umstieg von 32-bit auf 64-bit haben kann. Den Stein ins Rollen brachte eine Kundenanfrage, die über mein Blog hereinkam:

-----Original Message-----
From: ***@***.de [mailto:***@***.de]
Sent: Montag, 30. November 2009 14:12
To: Daniel Melanchthon
Subject: (.: Daniel Melanchthon :. ) : Win7/XP
Importance: High

Auf einem Rechner Win 7 pro 64 bit installiert. Dort ist auch der Drucker Canon pixma ip 4300 angeschlossen und im Netzwerk freigegeben.
Zweiter Rechner mit BS Win XP pro.
Ich kann den Drucker in der Abfrage sehen aber nicht intregieren. Treiber sind auf dem neuesten Stand. Das System will die Datei inf haben. Ist aber weder von der CD Canon noch anderswo zu beziehen.
Keiner kann mir von den Herstellerfirmen helfen.

Welches Problem tritt hier auf? Wen man einen Drucker auf einem Windows-Druckserver (was durchaus auch ein Windows-Client sein kann) einrichtet, werden automatisch die notwendigen Treiber für die Plattform installiert. Das ist bei Windows 7 x64 ein 64-bittiger Treiber. Wenn man nun von einem anderen Rechner aus den freigegebenen Drucker nutzen möchte, kann es passieren, dass der Treiber, den der Druckserver automatisch zur Verfügung stellt, nicht passt. In diesem Beispiel nutzt der Kunde Windows XP auf dem anderen Rechner und ich gehe stark davon aus, dass er die 32-bit-Version installiert hat.

Was muss man nun tun? Man muss auf dem 64-bit-Rechner einen 32-bit Druckertreiber hinzufügen. Das gleiche Problem hat man übrigens auch andersherum, wenn man auf einen Drucker, der an einem Rechner mit 32-bit Windows eingerichtet ist, von einem 64-bit Windows aus über das Netzwerk zugreifen will. Hier muss man auf dem 32-bit-Rechner einen 64-bit Treiber nachinstallieren.

clip_image001

Das habe ich dem Kunden geantwortet. Die nächste Frage des Kunden kam daraufhin prompt und war nicht wirklich eine große Überraschung:

Soweit wie unten beschrieben konnte ich voran kommen. Nur den Treiber. Dort wird dann mein CD Lw angezeigt. Nur auf der Canon-CD ist dann der passende Treiber nicht zu finden. Ich hatte zwar eine Exe-Datei von Canon heruntergeladen mit dem ein 32bit Treiber zusätzlich installiert werden kann. Nur ist das Verzeichnis nicht aufgeführt.
Den habe ich über die Microsoftseite, die zwar zur Canonseite verzweigt, heruntergeladen. 

Was ist jetzt das Problem? Zur Treiberinstallation muss der Treiber in ausgepackter Form vorliegen. Dazu muss der Treiber sich über die INF-Datei installieren lassen. Wenn die Setupautoren des Treibers nur die Installation über ein Setupprogramm vorgesehen haben, läuft man hier in eine Sackgasse. Es gibt zwar auch Workarounds, mit denen man da wieder herauskommen kann (man legt den Drucker auf dem Zielrechner mit einem lokalen Anschluss an, der als Ziel den UNC Pfad des freigegeben Drucker hat), aber ich möchte an dieser Stelle den vorgesehenen, eleganten Weg zeigen.

Als erstes sucht man das Druckermodell im Windows Update Katalog. Der Anfrage kann man gleich Stichworte für das gesuchte Modell mitgeben. So kann man zum Beispiel nach einem Canon PIXMA iP4300 mit folgender URL suchen:

https://catalog.update.microsoft.com/v7/site/Search.aspx?q=ip4300

Das Ergebnis ist dann eine Liste aller Treiber, die zu dem gesuchten Modell passen und in der Datenbank vorhanden sind:

image

In dieser Liste kann man jeden Eintrag anklicken. Es öffnet sich ein Fenster mit Informationen zu unterstützten Plattform (AMD64=64-bit, X86=32-bit), Sprachversionen, Windows-Versionen, etc. Mit dem Button “Add to Basket” kann man den Treiber der Auswahl hinzufügen:

image

Wir brauchen für dieses Beispiel die Treiber für beide Plattformen, also wählt man die aktuellsten Treiber (in diesem Beispiel die ersten zwei) aus und fügt sie dem Auswahlkorb hinzu. Über “View Basket” lässt man sich dann die Auswahl anzeigen…

image

… und startet das Herunterladen:

image image

In dem vorher ausgewählten Zielordner befindet sich dann ein Unterordner mit dem Namen des ausgewählten Modells. Darin liegen die Treiberdateien als CAB-Dateien verpackt:

image

Diese kann man in Windows 7 wie Unterordner darstellen, indem man einen Doppelklick auf eine CAB-Datei ausführt:

image

Aus der CAB-Datei extrahiert man nun mit Copy & Paste die enthaltenen Dateien und legt sie in einen Ordner pro CAB-Datei ab. In meinem Beispiel habe ich zwei Ordner mit den Namen AMD64 und X86 verwendet und in diese Ordner die Dateien aus den jeweiligen CAB-Dateien hineinkopiert.

Als nächstes installiert man den Drucker auf dem Windows 7-PC, an dem der Drucker angeschlossen ist:

image image

Bei der Treiberauswählt wählt man jetzt kein Modell aus der Liste (oder über Windows Update), sondern klickt auf den Button mit der Beschriftung “Datenträger…”:

image

Jetzt navigiert man zu dem Zielordner, in dem sich die ausgepackten Treiberdateien befinden und wählt die INF-Datei an. In diesem Beispiel wird ein Canon PIXMA iP4300 Drucker auf einem 64-bit Windows 7 installiert. Also ist der AMD64-Ordner der richtige:

image image image image image image

Nun ist der Drucker lokal angeschlossen unter Windows 7 einsatzbereit. Die korrekte Funktion kann man mit dem Drucken einer Testseite überprüfen. Im nächsten Schritt fügen wir jetzt den notwendigen 32-bit-Treiber hinzu. Dazu öffnet man über “Geräte und Drucker” die Eigenschaftenseite des installierten Canon-Druckers und wählt die Druckereigenschaften aus:

image

Auf dem Freigabereiter gibt es rechts unten die Option, über die man zusätzliche Treiber einfügen kann:

image

Hier besteht jetzt die Möglichkeit, Treiber für andere, unterstützte Plattformen hinzufügen, in dem man für unser Beispiel den Haken unter x86 setzt. Man beachte die Spalte “Installiert” – der x86-Treiber ist noch nicht eingerichtet:

image

Es folgt wieder die Auswahl des Zielordners. Jetzt navigiert man in den X86-Ordner und wählt die dortige INF-Datei aus:

image

Nachdem man die Auswahl mit “Öffnen” tätigt und die anderen Dialoge mit OK bestätigt, wird der notwendige Treiber installiert und steht ab sofort im Netzwerk zur Verfügung. Wenn man nochmal nachschaut, wird das auch in der Spalte “Installiert” reflektiert:

image

Damit kann man nun auf den Drucker von 32- und 64-bit Windows-Versionen drucken. Das ganze Verfahren könnte man nun auch mit Windows XP-Druckertreibern (falls die Windows Vista-Druckertreiber auf XP nicht funktionieren) durchführen oder auch mit Treibern, die der Hersteller direkt zur Verfügung stellt. Hier muss nur jeweils sichergestellt sein, dass die 32-bit und 64-bit Treiber exakt zueinander passen und als INF-Datei zur INF-Installation zur Verfügung stehen.

Das ist leider nicht bei allen Treiberdateien der Fall. Deswegen habe ich in diesem Beispiel auf den Windows Update Katalog zurückgegriffen. Treiber, die wir über Windows Update zur Verfügung stellen, sind von uns geprüft worden und müssen zum Beispiel die INF-Installation unterstützen.