Os utilizadores não conseguem imprimir após a instalação de um Service Pack, update rollup ou correcção de impressora num servidor no Windows 2000 ou no Windows Server 2003

Traduções de Artigos Traduções de Artigos
Artigo: 832219 - Ver produtos para os quais este artigo se aplica.
Importante: este artigo contém informações sobre como modificar o registo. Certifique-se de que cria uma cópia de segurança do registo antes de o modificar. Certifique-se de que sabe como restaurar o registo se ocorrer um problema. Para mais informações sobre como efectuar uma cópia de segurança, restaurar e modificar o registo, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
256986 Descrição do registo do Microsoft Windows


Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido). As opções mencionadas neste artigo poderão estar em inglês, consoante a versão do sistema operativo ou dos componentes instalados.
Expandir tudo | Reduzir tudo

Sintomas

Depois de instalar o Microsoft Windows 2000 Service Pack 2 (SP2), um Service Pack do Windows Server 2003, um Update Rollup ou uma correcção que actualize o ficheiro Unidrvui.dll, os utilizadores poderão verificar os seguintes sintomas:
  • Quando um cliente ou servidor tenta imprimir, o serviço Spooler de Impressão parece deixar de responder (ou bloquear) e é apresentada a seguinte mensagem de erro:
    Não foi possível criar uma tarefa de impressão.
  • Quando tenta imprimir uma página de teste a partir da consola do servidor, receberá a seguinte mensagem de erro:
    A página de teste falhou ao imprimir.

Causa

Este comportamento pode ocorrer se instalar o Service Pack ou pacote de correcções num servidor com muitos controladores de impressora PCL (Printer Control Language) baseados em Unidrv.

Quando instala um Service Pack ou ficheiros de correcções que actualizam o Unidrvui.dll num servidor com muitos controladores de impressora PCL baseados em Unidrv, o servidor poderá demorar muito tempo (até 2 horas) a regenerar os ficheiros de descrição de impressora binários analisados (ficheiros .bud) utilizados para aumentar a eficácia do Spooler destes controladores. Durante este período, o Spooler de Impressão não consegue receber tarefas de impressão e poderá devolver mensagens aos clientes a indicar que a fila de impressão está completa. Esta é uma operação de análise única e não ocorre depois de os ficheiros .bud binários analisados terem sido regenerados com êxito.

Os ficheiros .bud binários que são gerados a partir dos ficheiros GPD (Generic Printer Description) têm de ser regenerados uma vez que a versão do ficheiro de análise GPD é alterada. Depois de analisados todos os controladores PCL baseados em Unidrv, o spooler poderá receber tarefas de impressão novamente. Por este motivo, a Microsoft recomenda que agende as instalações de Service Packs e correcções nos servidores com muitos controladores de impressora PCL baseados em Unidrv de modo a incluírem esta compilação de ficheiros .bud que poderá demorar até duas horas.

Resolução

Para resolver este problema, defina tempo suficiente para que o servidor conclua a análise de todos os controladores de impressora baseados em Unidrv para cada ficheiro de controlador actualizado e, em seguida, defina tempo suficiente para cada impressora que utiliza estes ficheiros.

Como contornar

Aviso: a utilização incorrecta do Editor de Registo poderá provocar problemas graves que poderão forçar a reinstalação do sistema operativo. A Microsoft não garante que os problemas resultantes da utilização incorrecta do Editor de Registo possam ser resolvidos. Todo e qualquer risco decorrente da utilização do Editor de Registo é da responsabilidade do utilizador.

Se não puder aguardar que o servidor conclua a análise de todos os controladores de impressora baseados em Unidrv, remova manualmente todos os ficheiros de descrição de impressora binários em cache (ficheiros .bud) e, em seguida, permita que os mesmos sejam recriados automaticamente. Esta recriação automática poderá ser concluída em menos tempo, dependendo da velocidade do servidor. Normalmente, esta operação demora 30 minutos.

Nota: quando o Spooler de Impressão é iniciado, instala uma versão mais recente do Unidrv.dll. Consequentemente, os ficheiros .bud estarão desactualizados. Os ficheiros .bud são as versões compiladas dos ficheiros .ppd e podem ser totalmente regenerados a partir desses ficheiros .ppd. Assim, pode remover os ficheiros .bud. Para o fazer, siga estes passos:
  1. Pare o serviço Spooler de Impressão. Para o fazer, execute o seguinte comando a partir de uma linha de comandos:
    net stop spooler
  2. Procure todos os ficheiros .bud e, em seguida, certifique-se de que estão marcados com a hora e data actuais. Os ficheiros são apresentados com a data actual.
  3. Remova todos os ficheiros .bud que têm uma marca de data e hora anterior à data actual. Estes ficheiros estão localizados na seguinte pasta:
    %SYSTEMROOT%\System32\Spool\Drivers\w32x86\3
  4. Remova a seguinte chave de registo, caso exista:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade
    Para o fazer, siga estes passos:
    1. Clique em Iniciar, clique em Executar, escreva regedit na caixa Abrir e clique em OK.
    2. Localize e clique na seguinte subchave do registo:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
    3. No menu Registo, clique em Exportar ficheiro do registo.
    4. Na caixa Nome do ficheiro, escreva printkey e clique em Guardar.

      Nota: se posteriormente tiver que restaurar a chave de registo
      Print
      , poderá fazê-lo fazendo duplo clique no ficheiro Printkey.reg guardado.
    5. Localize e clique na seguinte subchave do registo, caso exista:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade
    6. No menu Editar, clique em Eliminar e clique em Sim para confirmar a remoção da chave de registo
      PostSPUpgrade
      .

      Nota: a chave de registo
      PostSPUpgrade
      poderá ser apresentada novamente depois de reiniciar o computador. Este comportamento ocorre se existirem outros ficheiros .bud que ainda não tenham sido analisados. Depois de estes ficheiros terem sido analisados, esta chave de registo é removida automaticamente.
  5. Reinicie o servidor.
Depois de reiniciar o servidor, a funcionalidade de impressão estará disponível para os utilizadores após 30 minutos.

Propriedades

Artigo: 832219 - Última revisão: 10 de dezembro de 2007 - Revisão: 5.1
A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Advanced Server SP4
  • Microsoft Windows 2000 Advanced Server SP3
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Server SP4
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Professional SP4
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003 Standard Edition
Palavras-chave: 
kbprint kbprb KB832219

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com