Freigeben über


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

Dieser Artikel enthält Hilfe zum Beheben eines Problems, bei dem Sie nach der Installation eines Service Pack- oder Drucker-Hotfixes auf einem Server nicht drucken können.

Ursprüngliche KB-Nummer: 832219

Symptome

Nachdem Sie ein Service Pack, ein Updaterollup oder einen Hotfix installiert haben, der die Unidrvui.dll Datei auf Windows Server aktualisiert, können die Benutzer die beiden folgenden Symptome feststellen:

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

    Druckauftrag kann nicht erstellt werden.

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

    Fehler beim Drucken der Testseite.

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

Ursache

Dieses Verhalten kann auftreten, wenn Sie das Service Pack- oder Hotfix-Paket auf einem Server installieren, auf dem viele unidrv-basierte Druckersteuerungssprache (PCL)-Druckertreiber vorhanden sind.

Wenn Sie eine Service Pack- oder Hotfixdatei installieren, die Unidrvui.dll auf einem Server mit vielen unidrv-basierten PCL-Druckertreibern aktualisiert, kann der Server eine lange Zeit (bis zu 2 Stunden) verbringen, um die analysierten Binärdruckerbeschreibungsdateien (BUD-Dateien) zu generieren, die verwendet werden, um die Spoolereffizienz für diese Treiber zu erhöhen. Während dieser Zeit kann der 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 und tritt nicht auf, nachdem die analysierten binären BUD-Dateien erfolgreich neu generiert wurden.

Binäre BUD-Dateien, die aus generischen Druckerbeschreibungsdateien (GPD) 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 erneut 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 berücksichtigen.

Lösung

Um dieses Problem zu beheben, planen Sie ausreichend Zeit für den Server, um die Analyse aller unidrv-basierten Druckertreiber für jede aktualisierte Treiberdatei abzuschließen, und planen Sie dann genügend Zeit für jeden Drucker, 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 müssen Sie sicherstellen, dass Sie diese Schritte sorgfältig ausführen. Für weiteren Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter: Sichern und Wiederherstellen der Registrierung Windows.

Wenn Sie nicht warten können, bis der Server die Analyse aller unidrv-basierten Druckertreiber abgeschlossen hat, entfernen Sie manuell alle zwischengespeicherten Binärdruckerbeschreibungsdateien (.bud-Dateien), und lassen Sie sie dann automatisch neu erstellt werden. Je nach Geschwindigkeit des Servers kann diese automatische Neuerstellung in kürzerer Zeit abgeschlossen werden. Dieser Vorgang wird in der Regel innerhalb von 30 Minuten abgeschlossen.

Notiz

Wenn print Spooler gestartet wird, 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 Gründen können Sie die BUD-Dateien entfernen.

Gehen Sie dazu wie folgt vor:

  1. Beenden Sie den Druckspoolerdienst. Führen Sie dazu den folgenden Befehl an einer Eingabeaufforderung 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 werden. Die Dateien werden mit dem heutigen Datum angezeigt.

  3. Entfernen Sie alle BUD-Dateien mit einem Datums- und Zeitstempel, der vor dem heutigen Datum liegt. Diese Dateien sind in folgendem Ordner gespeichert:

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

  4. Entfernen Sie den folgenden Registrierungsschlüssel, falls 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", geben Sie "regedit" in das Feld "Öffnen" ein, und klicken Sie dann 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 im Feld "Dateiname" den Druckschlüssel ein, und klicken Sie dann auf "Speichern".

      Notiz

      Wenn Sie später den Registrierungsschlüssel "Drucken " wiederherstellen müssen, können Sie dies tun, indem Sie auf die gespeicherte Printkey.reg Datei doppelklicken.

    5. Suchen Sie den folgenden Registrierungsunterschlüssel, falls vorhanden, und klicken Sie dann auf den folgenden Registrierungsunterschlüssel:
      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.

      Notiz

      Der PostSPUpgrade-Registrierungsschlüssel wird möglicherweise erneut 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.

Nachdem Sie den Server neu gestartet haben, steht die Druckfunktion für Benutzer nach ca. 30 Minuten zur Verfügung.

Weitere Informationen

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