Gli utenti non possono stampare dopo aver installato un Service Pack, un aggiornamento cumulativo o un hotfix della stampante in un server basato su Windows

Questo articolo fornisce assistenza per risolvere un problema per cui non è possibile stampare dopo l'installazione di un Service Pack o di un hotfix della stampante in un server.

Si applica a: Windows Server 2012 R2
Numero KB originale: 832219

Sintomi

Dopo aver installato un Service Pack, un aggiornamento cumulativo o un hotfix che aggiorna il file Unidrvui.dll in Windows Server, gli utenti potrebbero riscontrare entrambi i sintomi seguenti:

  • Quando un client o un server tenta di stampare, il servizio Spooler di stampa sembra smettere di rispondere (o "blocca") e viene visualizzato il messaggio di errore seguente:

    Impossibile creare il processo di stampa.

  • Quando si tenta di stampare una pagina di test dalla console del server, viene visualizzato il messaggio di errore seguente:

    Impossibile stampare la pagina di test.

  • Le procedure guidate Aggiungi driver o Aggiungi stampante non rispondono, quando si tenta di installare il driver tramite dispositivi e stampanti o tramite la console di gestione stampa.

Causa

Questo comportamento può verificarsi se si installa il Service Pack o il pacchetto hotfix in un server con molti driver della stampante PCL (Unidrv-based Printer Control Language).

Quando si installa un service pack o un file hotfix che aggiorna Unidrvui.dll in un server con molti driver della stampante PCL basati su Unidrv, il server potrebbe impiegare molto tempo (fino a 2 ore) per rigenerare i file di descrizione della stampante binaria analizzata (file bud) usati per aumentare l'efficienza dello spooler per questi driver. Durante questo periodo, lo Spooler di stampa non può ricevere processi di stampa in ingresso e può restituire messaggi ai client che indicano che la coda di stampa è piena. Si tratta di un'operazione di analisi una tantum che non si verifica dopo la rigenerazione dei file binari con estensione bud analizzati.

I file con estensione bud binari generati da file gpd (Generic Printer Description) devono essere rigenerati perché viene modificata la versione del file del parser GPD. Dopo l'analisi di tutti i driver PCL basati su Unidrv, lo spooler può ricevere nuovamente i processi di stampa. Per questo motivo, Microsoft consiglia di pianificare installazioni di service pack e hotfix nei server con molti driver di stampante PCL basati su Unidrv per supportare questa compilazione di file bud fino a due ore.

Risoluzione

Per risolvere questo problema, pianificare un tempo sufficiente per consentire al server di completare l'analisi di tutti i driver della stampante basati su Unidrv per ogni file di driver aggiornato e quindi pianificare un tempo sufficiente per ogni stampante che usa questi file.

Soluzione alternativa

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. In questo modo sarà possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire backup e ripristino del Registro di sistema, vedere Backup e ripristino del Registro di sistema in Windows.

Se non è possibile attendere che il server completi l'analisi di tutti i driver della stampante basati su Unidrv, rimuovere manualmente tutti i file di descrizione della stampante binaria memorizzati nella cache (file con estensione bud) e quindi lasciarli ricreare automaticamente. A seconda della velocità del server, questa ricreazione automatica può essere completata in un periodo di tempo più breve. In genere, questa operazione viene completata entro 30 minuti.

Nota

All'avvio dello Spooler di stampa, viene installata una versione più recente di Unidrv.dll. Di conseguenza, i file con estensione bud non sono aggiornati. I file con estensione bud sono le versioni compilate dei file con estensione ppd e possono essere completamente rigenerati da tali file con estensione ppd. Per questo motivo, è possibile rimuovere i file con estensione bud.

A tal fine, attenersi alla seguente procedura:

  1. Arrestare il servizio Spooler di stampa. A tale scopo, eseguire il comando seguente da un prompt dei comandi:

    net stop spooler
    
  2. Cercare tutti i file con estensione bud e quindi assicurarsi che siano contrassegnati con l'ora e la data correnti. I file vengono visualizzati con la data odierna.

  3. Rimuovere tutti i file con estensione bud con un timestamp di data e ora precedente alla data odierna. Questi file si trovano nella cartella seguente:

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

  4. Rimuovere la chiave del Registro di sistema seguente, se esistente:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade

    A tal fine, attenersi alla seguente procedura:

    1. Fare clic su Start, Esegui, digitare regedit nella casella Apri, quindi fare clic su OK.

    2. Individuare e quindi fare clic sulla sottochiave del Registro di sistema seguente:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

    3. Dal menu Registro di sistema, scegliere Esporta file del Registro di sistema.

    4. Nella casella Nome file digitare printkey e quindi fare clic su Salva.

      Nota

      Se in un secondo momento è necessario ripristinare la chiave del Registro di sistema Stampa , è possibile fare doppio clic sul file Printkey.reg salvato.

    5. Individuare e quindi fare clic sulla sottochiave del Registro di sistema seguente, se esistente:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade

    6. Scegliere Elimina dal menu Modifica e quindi fare clic su per confermare la rimozione della chiave del Registro di sistema PostSPUpgrade.

      Nota

      La chiave del Registro di sistema PostSPUpgrade potrebbe riapparire dopo il riavvio del computer. Questo comportamento si verifica se esistono altri file con estensione bud che non sono ancora stati analizzati. Dopo l'analisi di questi file, questa chiave del Registro di sistema viene rimossa automaticamente.

  5. Riavviare il server.

Dopo il riavvio del server, la funzionalità di stampa è disponibile per gli utenti dopo circa 30 minuti.

Ulteriori informazioni

In .NET Framework 3.0 il file unidrv.dll è ora incluso nella stampa XPS. Anche il file unidrv.dll può attivare questo comportamento.