Condividi tramite


Gli utenti non possono stampare dopo l'installazione di un Service Pack, l'aggiornamento cumulativo o l'hotfix della stampante in un server basato su Windows

Questo articolo fornisce informazioni utili per risolvere un problema a causa del quale non è possibile stampare dopo l'installazione di un Service Pack o di un hotfix della stampante in un server.

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 possono riscontrare entrambi i sintomi seguenti:

  • Quando un client o un server tenta di stampare, viene visualizzato il servizio Spooler di stampa che smette 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 oppure tramite la Console di gestione di 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 di stampante PCL basati su Unidrv, il server potrebbe dedicare molto tempo (fino a 2 ore) rigenerando i file di descrizione della stampante binaria analizzati (file con estensione bud) usati per aumentare l'efficienza dello spooler per questi driver. Durante questo periodo di tempo, Print Spooler 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 e non si verifica dopo la rigenerazione corretta dei file binari binari analizzati.

I file binari con estensione bud generati da file GPD (Generic Printer Description) devono essere rigenerati perché la versione del file del parser GPD viene modificata. Dopo l'analisi di tutti i driver PCL basati su Unidrv, lo spooler può ricevere di nuovo i processi di stampa. Per questo motivo, Microsoft consiglia di pianificare le 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 tempo sufficiente per il server per 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. Se, tuttavia, si modifica il Registro di sistema in modo errato, possono verificarsi gravi problemi. Pertanto, assicurarsi di osservare attentamente la procedura seguente. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. Successivamente, è possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire il backup e il ripristino del Registro di sistema, vedi Come eseguire il backup e il 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.

Note

All'avvio di Print Spooler, viene installata una versione più recente di Unidrv.dll. Di conseguenza, i file 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 bud.

A tale scopo, effettuare i passaggi seguenti:

  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 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 indicatore 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 presente:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade

    A tale scopo, effettuare i passaggi seguenti:

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

    2. Individuare e quindi fare clic sulla seguente sottochiave del Registro di sistema:
      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.

      Note

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

    5. Individuare e quindi fare clic sulla seguente sottochiave del Registro di sistema, se presente:
      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.

      Note

      La chiave del Registro di sistema PostSPUpgrade potrebbe essere nuovamente visualizzata dopo il riavvio del computer. Questo comportamento si verifica se esistono altri file 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. Il file unidrv.dll può anche attivare questo comportamento.