Artigo: 184291 - Última revisão: segunda-feira, 10 de Julho de 2006 - Revisão: 7.2

Objectos COM não conseguem imprimir quando chamado a partir de 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 | Reduzir tudo

Sintomas

Um objecto COM que envia a saída para uma impressora de falha quando chamado do ASP (Active Server Pages) mas funções correctamente quando chamado a partir de uma aplicação interactiva. Este objecto COM pode ser um produto comercial como, por exemplo, uma aplicação do Microsoft Office ou um objecto de outros fabricantes personalizado. Uma mensagem de erro comum é "Nome da classe erro '800a01e2' impressora erro."

Causa

As API padrão que a maioria dos objectos utilizam para imprimir dependem das entradas de registo localizadas em HKEY_CURRENT_USER. Este ramo de registo é dinâmico. Dependendo do contexto de utilizador o processo está a ser executado, informações diferentes, serão carregadas para este ramo. Páginas ASP executados IIS executados como conta SYSTEM. Quando criar uma instância de um objecto COM no código ASP, por predefinição, também será executado como a conta SYSTEM. Por predefinição, a conta SYSTEM não tem quaisquer impressoras definida no registo.

Resolução

Pode configurar impressoras para a conta SYSTEM resolver este problema. Para configurar impressoras para a conta SYSTEM, efectuar o seguinte procedimento:

Este método requer que modifique o registo utilizando o Editor de registo.

Aviso: A utilização incorrecta do Editor de registo pode causar problemas graves do sistema, que poderão forçar a reinstalação do Windows corrigi-los. Microsoft não garante que os problemas resultantes da utilização do Editor de registo podem ser resolvidos. Utilize esta ferramenta por sua conta e risco.
  1. Assegurar que o utilizador que tem sessão iniciada para o servidor tem desejadas impressoras instaladas.
  2. Inicie o Editor de registo (Regedit.exe).
  3. Seleccione a seguinte chave:
          HKEY_CURRENT_USER
             \Software\Microsoft\Windows NT\Current Version\Devices
    
    					
  4. No menu registo, clique em Exportar ficheiro de registo.
  5. Na caixa de texto nome do ficheiro, escreva c:\Devices.reg.
  6. Seleccione a seguinte chave:
          HKEY_CURRENT_USER
             \Software\Microsoft\Windows NT\Current Version\PrinterPorts
    
    					
  7. No menu registo, clique em Exportar ficheiro de registo.
  8. Na caixa de texto nome do ficheiro, escreva c:\PrinterPorts.reg.
  9. Seleccione a seguinte chave:
          HKEY_CURRENT_USER
             \Software\Microsoft\Windows NT\Current Version\Windows
    
    					
  10. No menu registo, clique em Exportar ficheiro de registo.
  11. Na caixa de texto nome do ficheiro, escreva c:\Windows.reg.
  12. A partir do botão Iniciar, seleccione executar. Abra Devices.reg no bloco de notas escrevendo Devices.reg o bloco de notas na caixa de diálogo Executar.
  13. Substitua o texto HKEY_CURRENT_USER por HKEY_USERS\.DEFAULT
  14. Guarde o ficheiro. Em seguida, importá-lo para o registo clicando duas vezes o ficheiro no Explorador do Windows.
  15. Repita os passos de 13 a 15 para PrinterPorts.reg e Windows.reg.
Estes passos só funcionam para impressoras locais.

Para activar o IIS enumerar as impressoras de rede utilizando a conta de sistema, siga estes passos.

Nota Se o processo é executado sob a conta do serviço de rede, são necessárias permissões explícitas para o registo recém-criado.
  1. Certifique-se que é actualmente iniciou para o servidor como um utilizador com as impressoras de rede pretendida instaladas.
  2. Inicie o Editor de registo.
  3. Clique na seguinte chave:
    HKEY_CURRENT_USER\Printers\Connections
  4. No menu registo , clique em Exportar ficheiro de registo .
  5. Na caixa Nome do ficheiro , escreva c:\printconns.reg .
  6. Para abrir o ficheiro printconns.reg no bloco de notas, clique em Iniciar , clique em Executar , escreva printconns.reg o bloco de notas na caixa Abrir e, em seguida, clique em OK .
  7. Substitua o texto HKEY_CURRENT_USER com o texto HKEY_USERS\.DEFAULT.
  8. Guarde o ficheiro.
  9. Para importar o ficheiro para o registo, faça duplo clique no ficheiro no Explorador do Windows.
  10. Reinicie o serviço de spooler de impressão.

Referências

Para os mais recentes artigos da Knowledge Base e outras informações de suporte no Visual InterDev e Active Server Pages, consulte a seguinte página no site de 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 Luís, Microsoft Corporation.


A informação contida neste artigo aplica-se a:
  • Microsoft Active Server Pages 4.0
  • Microsoft Internet Information Server 4.0
  • Serviços de informação Internet 5.0 da Microsoft
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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/ )