ID do artigo: 184291 - Última revisão: segunda-feira, 10 de julho de 2006 - Revisão: 7.2

Objetos COM falham imprimir quando chamado a partir do ASP

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sintomas

Um objeto COM que envia saída para uma impressora falha quando chamado de Active Server Pages (ASP) mas funciona corretamente quando chamado de um aplicativo interativo. Esse objeto COM pode ser tanto um produto comercial como um aplicativo do Microsoft Office, ou um objeto de terceiros personalizado. Uma mensagem de erro comum é "Erro de impressora do ClassName erro '800a01e2'".

Causa

As APIs padrão que a maioria dos objetos usados para imprimir dependem do Registro entradas localizadas em HKEY_CURRENT_USER. Essa seção do registro é dinâmica. Dependendo do contexto qual usuário o processo está sendo executado, informações diferentes serão carregadas nessa seção. Páginas ASP executam em IIS, que está sendo executado como a conta do sistema. Quando você cria uma instância de um objeto COM no seu código ASP, por padrão, ele também será executado como a conta do sistema. Por padrão, a conta SYSTEM não tem qualquer impressoras definir no registro.

Resolução

Você pode configurar impressoras para a conta SYSTEM resolver esse problema. Para configurar impressoras para a conta do sistema, execute o seguinte:

Este método requer que você modificar o registro usando o Editor do Registro.

Aviso: Usar o Editor do Registro incorretamente pode causar problemas sérios no sistema que talvez exijam a reinstalação do Windows para corrigi-los. Microsoft não garante que problemas resultantes do uso do Editor do Registro possam ser solucionados. Use esta ferramenta de sua responsabilidade.
  1. Verifique se o usuário que atualmente conectado no servidor tem as impressoras desejadas instaladas.
  2. Inicie o Editor do Registro (Regedit.exe).
  3. Selecione a seguinte chave:
          HKEY_CURRENT_USER
             \Software\Microsoft\Windows NT\Current Version\Devices
    
    					
  4. No menu Registro, clique em Exportar arquivo do Registro.
  5. Na caixa de texto Nome do arquivo, digite c:\Devices.reg.
  6. Selecione a seguinte chave:
          HKEY_CURRENT_USER
             \Software\Microsoft\Windows NT\Current Version\PrinterPorts
    
    					
  7. No menu Registro, clique em Exportar arquivo do Registro.
  8. Na caixa de texto Nome do arquivo, digite c:\PrinterPorts.reg.
  9. Selecione a seguinte chave:
          HKEY_CURRENT_USER
             \Software\Microsoft\Windows NT\Current Version\Windows
    
    					
  10. No menu Registro, clique em Exportar arquivo do Registro.
  11. Na caixa de texto Nome do arquivo, digite c:\Windows.reg.
  12. O botão Iniciar, selecione Executar. Abra Devices.reg no bloco de notas digitando Devices.reg de bloco de notas na caixa de diálogo Executar.
  13. Substitua o texto HKEY_CURRENT_USER HKEY_USERS\.DEFAULT
  14. Salve o arquivo. Em seguida, importá-lo para o registro clicando duas vezes o arquivo no Windows Explorer.
  15. Repita as etapas 13 a 15 para PrinterPorts.reg e Windows.reg.
Estas etapas funcionam apenas para impressoras locais.

Para habilitar o IIS para enumerar as impressoras de rede usando a conta do sistema, siga estas etapas.

Observação Se o processo estiver executando sob a conta do serviço de rede, são necessárias permissões explícitas para o registro recém-criado.
  1. Verifique se que você atualmente fez para o servidor como um usuário que tenha as impressoras de rede desejada instaladas.
  2. Inicie o Editor do Registro.
  3. Clique na seguinte chave:
    HKEY_CURRENT_USER\Printers\Connections
  4. No menu registro , clique em Exportar arquivo do Registro .
  5. Na caixa Nome do arquivo , digite c:\printconns.reg .
  6. Para abrir o arquivo printconns.reg no bloco de notas, clique em Iniciar , clique em Executar , digite Notepad printconns.reg na caixa Abrir e, em seguida, clique em OK .
  7. Substitua o texto HKEY_CURRENT_USER com o texto HKEY_USERS\.DEFAULT.
  8. Salve o arquivo.
  9. Para importar o arquivo para o registro, clique duas vezes no arquivo no Windows Explorer.
  10. Reinicie o serviço de spooler de impressão.

Referências

Para artigos da Base de dados de Conhecimento mais recentes e outras informações de suporte sobre Visual InterDev e Active Server Pages, consulte a seguinte página no site do suporte técnico da Microsoft:
http://support.microsoft.com/search/default.aspx?qu=vinterdev (http://support.microsoft.com/search/default.aspx?qu=vinterdev)



(c) Microsoft Corporation 1998, todos os direitos reservados.
Contribuições de John Lewis, Microsoft Corporation.


A informação contida neste artigo aplica-se a:
  • Microsoft Active Server Pages 4.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
Palavras-chave: 
kbmt kbaspobj kberrmsg kbprb kbregistry kbsecurity KB184291 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 184291  (http://support.microsoft.com/kb/184291/en-us/ )