Benutzer können nach der Installation eines Service Packs, eines Updaterollups oder eines Drucker-Hotfixes auf einem Windows-basierten Server nicht drucken.

Dieser Artikel bietet Hilfe bei der Behebung eines Problems, bei dem Sie nach der Installation eines Service Packs oder Drucker-Hotfixes auf einem Server nicht drucken können.

Gilt für: Windows Server 2012 R2
Ursprüngliche KB-Nummer: 832219

Symptome

Nach der Installation eines Service Packs, eines Updaterollups oder eines Hotfixes, der die Unidrvui.dll-Datei unter Windows Server aktualisiert, treten bei Benutzern möglicherweise die beiden folgenden Symptome auf:

  • Wenn ein Client oder Server versucht, zu drucken, scheint der Druckspooler-Dienst nicht mehr zu reagieren (oder "hängt"), und die folgende Fehlermeldung wird angezeigt:

    Druckauftrag kann nicht erstellt werden.

  • Wenn Sie versuchen, eine Testseite über die Serverkonsole zu drucken, erhalten Sie die folgende Fehlermeldung:

    Fehler beim Drucken der Testseite.

  • Die Assistenten "Treiber hinzufügen" oder "Drucker hinzufügen" reagieren nicht mehr, wenn Sie versuchen, den Treiber mithilfe von Geräten und Druckern oder mithilfe der Druckverwaltungskonsole zu installieren.

Ursache

Dieses Verhalten kann auftreten, wenn Sie das Service Pack oder Hotfixpaket auf einem Server installieren, der über viele Unidrv-basierte DRUCKERtreiber (Printer Control Language, PCL) verfügt.

Wenn Sie ein Service Pack oder eine Hotfixdatei installieren, die Unidrvui.dll auf einem Server mit vielen Unidrv-basierten PCL-Druckertreibern aktualisiert, kann der Server lange (bis zu 2 Stunden) damit verbringen, die analysierten binären Druckerbeschreibungsdateien (BUD-Dateien) neu zu generieren, die verwendet werden, um die Spoolereffizienz für diese Treiber zu erhöhen. Während dieser Zeit kann druckspooler keine eingehenden Druckaufträge empfangen und kann Nachrichten an Clients zurückgeben, die angeben, dass die Druckwarteschlange voll ist. Dies ist ein einmaliger Analysevorgang, der nicht erfolgt, nachdem die analysierten binären .bud-Dateien erfolgreich neu generiert wurden.

Binäre BUD-Dateien, die aus GPD-Dateien (Generic Printer Description) generiert werden, müssen neu generiert werden, da die GPD-Parserdateiversion geändert wird. Nachdem alle Unidrv-basierten PCL-Treiber analysiert wurden, kann der Spooler wieder Druckaufträge empfangen. Aus diesem Grund empfiehlt Microsoft, Service Pack- und Hotfixinstallationen auf Servern mit vielen Unidrv-basierten PCL-Druckertreibern zu planen, um diese bis zu zweistündige .bud-Dateikompilierung zu ermöglichen.

Lösung

Um dieses Problem zu beheben, planen Sie genügend Zeit für den Server ein, um die Analyse aller Unidrv-basierten Druckertreiber für jede aktualisierte Treiberdatei abzuschließen, und planen Sie dann ausreichend Zeit für jeden Drucker ein, der diese Dateien verwendet.

Problemumgehung

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Sie können die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

Wenn Sie nicht warten können, bis der Server die Analyse aller Unidrv-basierten Druckertreiber abgeschlossen hat, entfernen Sie manuell alle zwischengespeicherten binären Druckerbeschreibungsdateien (BUD-Dateien) und lassen sie dann automatisch neu erstellen. Abhängig von der Geschwindigkeit Ihres Servers kann diese automatische Neuerstellung in kürzerer Zeit abgeschlossen werden. In der Regel ist dieser Vorgang innerhalb von 30 Minuten abgeschlossen.

Hinweis

Beim Starten des Druckspoolers wird eine neuere Version von Unidrv.dll installiert. Daher sind die BUD-Dateien veraltet. Die BUD-Dateien sind die kompilierten Versionen von PPD-Dateien und können vollständig aus diesen PPD-Dateien neu generiert werden. Aus diesem Fall können Sie die BUD-Dateien entfernen.

Gehen Sie dazu wie folgt vor:

  1. Beenden Sie den Druckspoolerdienst. Führen Sie dazu an einer Eingabeaufforderung den folgenden Befehl aus:

    net stop spooler
    
  2. Suchen Sie nach allen BUD-Dateien, und stellen Sie dann sicher, dass sie mit der aktuellen Uhrzeit und dem aktuellen Datum gestempelt sind. Die Dateien werden mit dem heutigen Datum angezeigt.

  3. Entfernen Sie alle BUD-Dateien, die einen Datums- und Zeitstempel aufweisen, der vor dem heutigen Datum liegt. Diese Dateien befinden sich im folgenden Ordner:

    %SYSTEMROOT%\System32\Spool\Drivers\w32x86\3

  4. Entfernen Sie den folgenden Registrierungsschlüssel, sofern vorhanden:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade

    Gehen Sie dazu wie folgt vor:

    1. Klicken Sie auf Start, klicken Sie auf Ausführen, und geben im Feld Öffnen die Zeichenfolge regedit ein. Klicken Sie anschließend auf OK.

    2. Suchen Sie den folgenden Registrierungsunterschlüssel, und klicken Sie dann auf den folgenden Registrierungsunterschlüssel:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

    3. Klicken Sie im Menü Registrierung auf Registrierungsdatei exportieren.

    4. Geben Sie printkey in das Feld Dateiname ein, und klicken Sie dann auf Speichern.

      Hinweis

      Wenn Sie später den Registrierungsschlüssel Drucken wiederherstellen müssen, können Sie dazu auf die Printkey.reg Datei doppelklicken, die Sie gespeichert haben.

    5. Suchen Sie den folgenden Registrierungsunterschlüssel, falls vorhanden, und klicken Sie darauf:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade

    6. Klicken Sie im Menü Bearbeiten auf Löschen, und klicken Sie dann auf Ja , um das Entfernen des PostSPUpgrade-Registrierungsschlüssels zu bestätigen.

      Hinweis

      Der Registrierungsschlüssel PostSPUpgrade wird möglicherweise wieder angezeigt, nachdem Sie den Computer neu gestartet haben. Dieses Verhalten tritt auf, wenn andere BUD-Dateien vorhanden sind, die noch nicht analysiert wurden. Nachdem diese Dateien analysiert wurden, wird dieser Registrierungsschlüssel automatisch entfernt.

  5. Starten Sie den Server neu.

Nach dem Neustart des Servers steht den Benutzern nach etwa 30 Minuten die Druckfunktion zur Verfügung.

Weitere Informationen

Im .NET Framework 3.0 ist die unidrv.dll-Datei jetzt im XPS-Druck enthalten. Die unidrv.dll Datei kann dieses Verhalten auch auslösen.