Tuesday, April 26, 2011

Blog Post: Operation Failed with error 0x0000007e

Fehlermeldungen aus unserem Hause sind teilweise legend�r. Gerade bin ich von einem Kunden auf eine interessante Meldung aufmerksam gemacht worden, die man bei einigen HP-Druckern erh�lt, wenn wenn man sich von einem Windows 7 Client verbinden m�chte:

0x0000007e

Der dazugeh�rige Eintrag in der Ereignisanzeige lautet:

"The print spooler failed to load a plug-in module spool\DRIVERS\W32X86\3\hpzpnp.dll, error code 0x7e. See the event user data for context information."

Na als wenn das nicht nach mehr Kontextinformationen schreien  w�rde. Aber was findet sich da?

"Context 101"

OK. Damit l�sst sich nicht wirklich viel anfangen. Der Printserver ist ein Windows Storage Server 2008 x64, auf den die Drucker mittels Export/Import mit der Windows Server 2008 Print Management-Konsole umgezogen wurden. Jegliche Internetrecherche deutete dem Kunden nach hin auf Treiberprobleme. Allerdings funktionieren manuell neu angelegte Drucker reibungslos und auch das nachtr�gliche Aktualisieren des Treibers bei den existierenden, problematischen Druckern bringt keine �nderung. Jetzt mag der eine oder andere auf die Idee kommen, dass das ja nicht so schlimm w�re, weil man die Drucker dann halt kurz l�scht und neu anlegt. Allerdings wurde hier nicht umsonst Export/Import genutzt, weil es hunderte Drucker betraf!

Der erste verd�chtige Kandidat war ein Fehler bei Point-and-Print. Dabei sucht der Windows 7 Client die Datei Mscms.dll in einem falschen Unterordner. Dagegen gibt es einen Hotfix, der in dem Artikel "Windows cannot connect to printer" error message when you try to create a Point and Print connection to a remote printer from a Windows 7 or Windows Server 2008 R2-based client computer beschrieben ist. Leider klingt die L�sung zwar sehr gut, war aber f�r ein anderes Problem.

Der Printserver, von dem die Einstellungen und Treiber exportiert wurden, lief unter Windows Server 2003 (32-bit). Der Installer des HP Universal Printing-Treibers legt nur auf einem 32-bit einen zus�tzlichen Registryschl�ssel HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Print \ Printers \ PRINTERNAME \ CopyFiles \ BIDI an, der auf spool \ DRIVERS \ W32X86 \ 3 \ hpzpnp.dll zeigt. Das ist eine 32-bit DLL, die man auf einem 64-bit System nicht laden kann. Daher schl�gt das Verbinden immer fehl, wenn man diesen Drucker mit den Einstellungen und dem Treiber von einem 32-bit Server auf einen x64 Server importiert. Legt man dagegen den Drucker manuell auf dem x64 Server an, erzeugt der x64 Installer von HP diesen Eintrag nicht und das Problem tritt nicht auf.

Laut HP wird diese 32-bit DLL f�r bidirektionale Netzwerkkommunikation genutzt, wenn der Drucker die Printqueue auf dem Printserver �ber die installierten Optionen und Papiertypen informieren m�chte. Statusmeldungen dagegen werden �ber SNMP an den Portmonitor des Servers gesendet, �ber den der Druckerspooler die Druckerstatus-Aktualisierungen an alle angeschlossenen Clients ausliefert. Der eigentliche Sinn dieses Registryzweig ist die Auslieferung von Farbprofilen und plattformunabh�ngigen Dateien, beschrieben in Downloading Queue-Specific Files. Der HP-Druckertreiber f�gt hier die 32-bit DLL ein. Da dieses Verhalten auf x64 PCs zu Problemen f�hrt, f�hrten wir mit Windows 7 eine weitere Pr�fung ein, die das erfolgreiche Laden derartiger Dateien �berpr�ft und beim Fehlschlagen unterbindet, dass die Druckerverbindung erfolgreich hergestellt werden kann.

Aber kein Blogposting ohne L�sung: Nach einer R�ckfrage bei den HP-Entwicklern auf unserem Campus schafft das L�schen des BIDI-Schl�ssels aus dem importierten Druckereintrag in der Registry des neuen Printservers Abhilfe. Danach lassen sich diese Drucker ebenfalls problemlos verbinden.

Have fun!
Daniel

Chandra West Kasey Chambers Megan Ewing Kristanna Loken Aubrey ODay

1 comment:

  1. Good Day I Am So Happy I Found Your Website, I
    Found You By Mistake, While I Was Searching On Aol For
    Something Else, Anyhow I Am Here Now And Would Just Like To Say Many Thanks For
    A Remarkable Post And An All Round Entertaining Blog
    I Don’t Have Time To Read It, All At The Moment But I Have BookMarked It
    And Also Added In Your RSS Feeds, So When I Have Time I Will Be Back To Read More,
    Please Do Keep Up The Fantastic Job. You can also check; Windows Cannot Connect to the Printer

    ReplyDelete