By Denis Passos

Troubleshooting Evento 87 (Printbrm.exe (the Printer Migration Wizard or the command-line tool) failed to backup driver <printer model name>. The backup process will continue, skipping this driver. Error: 0x80070002. The system cannot find the file specified.)

O presente post tem como foco o Troubleshooting do Error 0x80070002, que apresenta informações importantes referentes aos passos para resolução de problemas em cenários semelhantes. Para mais informações sobre necessidades do cenário de migração de printers, bem como troubleshooting geral, por favor, consulte os links de referência apresentados no final do texto.

Printbrm é usado em cenários de migração | backup/restore de impressoras.

O Screenshot abaixo apresenta as instruções de como migrar impressoras através do caminho no Print Management de uma estação Windows 7:

Start -> Administrative tools -> Print Management (lembre-se de adicionar este snap-in pelo MMC)

image

Durante a migração o executável PrintBrmEngine.exe extrairá adicionalmente informações da chave de registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3 que contem parâmetros de configuração e localização de arquivos, bem como da pasta C:\Windows\System32\spool\drivers\x64\3\, que contem drivers e arquivos de configuração de impressoras como Print Monitor, Data files, Dependent Files, etc- apontados pelo registro.

Eventualmente, durante o processo de export destas informações, o seguinte erro poderá acontecer:

image

Ao abrir Event Viewer -> Printer Migration Events, o Event 87 será exibido para cada impressora que falhou durante o processo de migração. A seguir um exemplo:

image

O erro acima, 0x80070002 (The system cannot find the file specified), não aponta especificamente o que está faltando para fazer o backup do driver desta impressora.

Ao analisar o erro 0x80070002, através da ferramenta ERR que oferece mais informações deste código de erro, temos também a confirmação de “FileNotFound”:

image

Sabendo que o printbrm copia informações dos dois locais importantes, apontados no inicio do post, é possível através do Process Monitor identificar o que exatamente o printbrm está tentando localizar para fazer o backup da printer OneNote 2010.

O que devo procurar no Procmon?

Inicialmente podemos verificar se as informações estão consistentes e se os drivers e arquivos de configuração, apontados na chave de registro desta impressora, existem nos respectivos locais:

No caso da printer OneNote 2010, temos a seguinte configuração na chave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\Send To Microsoft OneNote 2010 Driver

image

Sabendo que os arquivos dependentes e drivers para a impressora OneNote 2010 estão localizados no diretório ‘C:\Windows\system32\spool\DRIVERS\x64\3’, podemos então:

  1. Verificar se todos os arquivos dependentes (13 arquivos) na chave “Dependent Files” existem dentro da pasta, através do search no Windows Explorer, ou
  2. Reproduzir o problema e capturar a atividade do sistema com Process Monitor J

Seguindo em frente com a opção 2 e realizando uma busca pelas inicias dos arquivos “std”, foi possível identificar que o arquivo ‘stdschem.gdl’ não existe (NAME NOT FOUND) no diretório C:\Windows\system32\spool\DRIVERS\x64\3’, conforme abaixo:

image

A partir deste ponto, este arquivo foi copiado de outro print server para a pasta ‘C:\Windows\system32\spool\DRIVERS\x64\3’ e o problema foi resolvido.

image

Informações adicionais:

PRN: Printer Migration / Backup / Recovery

http://blogs.technet.com/b/askperf/archive/2009/04/13/prn-printer-migration-backup-recovery.aspx

Two Minute Drill: PRINTBRM and the Configuration File

http://blogs.technet.com/b/askperf/archive/2009/02/20/two-minute-drill-printbrm-and-the-configuration-file.aspx

Error Code Look-up

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=985

Print Spooler Crash Troubleshooting Steps

http://blogs.technet.com/b/perfguru/archive/2008/08/06/print-spooler-crash-troubleshooting-steps.aspx