Objetos COM não são impressos quando chamados de ASP
Este artigo ajuda você a resolve o problema que um objeto COM envia a saída para uma impressora falha quando chamado do Active Server Pages.
Versão original do produto: Páginas do Servidor Ativo
Número de KB original: 184291
Sintomas
Um objeto COM que envia a saída para uma impressora falha quando chamado do ASP (Active Server Pages), mas funciona corretamente quando chamado de um aplicativo interativo. Esse objeto COM pode ser um produto comercial, como um aplicativo do Microsoft Office, ou um objeto personalizado de terceiros. Uma mensagem de erro comum é "Erro className '800a01e2' Erro da impressora".
Motivo
As APIs padrão que a maioria dos objetos usam para imprimir dependem de entradas de registro localizadas em HKEY_CURRENT_USER. Esse hive de registro é dinâmico. Dependendo do contexto de usuário em que o processo está em execução, diferentes informações serão carregadas nesse hive. As páginas ASP são executadas em IIS, que está em execução como a conta SYSTEM. Quando você cria uma instância de um objeto COM no código ASP, por padrão, ele também será executado como a conta SYSTEM. Por padrão, a conta SYSTEM não tem impressoras configuradas no registro.
Resolução
Você pode configurar impressoras para a conta SYSTEM para resolve esse problema. Para configurar impressoras para a conta SYSTEM, execute as seguintes etapas:
Aviso
Esse método exige que você modifique o registro usando a Editor do Registro. Usar o Registro Editor incorretamente pode causar sérios problemas em todo o sistema que podem exigir que você reinstale o Windows para corrigi-los. A Microsoft não pode garantir que quaisquer problemas resultantes do uso de Editor do Registro possam ser resolvidos. Use essa ferramenta por sua conta e risco.
Verifique se o usuário no momento em que você está conectado no servidor tem as impressoras desejadas instaladas.
Inicie o Editor do Registro (Regedit.exe).
Selecione a seguinte chave:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices
No menu Registro , selecione Exportar Arquivo do Registro.
Na caixa de texto Nome do Arquivo , digite c:\Devices.reg.
Selecione a seguinte chave:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts
No menu Registro , selecione Exportar Arquivo do Registro.
Na caixa de texto Nome do Arquivo , digite c:\PrinterPorts.reg.
Selecione a seguinte chave:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
No menu Registro , selecione Exportar Arquivo do Registro.
Na caixa de texto Nome do Arquivo , digite c:\Windows.reg.
No botão Iniciar , selecione Executar. Abra Devices.reg no Bloco de Notas digitando Devices.reg do Bloco de Notas na caixa de diálogo Executar .
Substitua o texto
HKEY_CURRENT_USER
porHKEY_USERS\.DEFAULT
.Salve o arquivo. Em seguida, importe-o para o registro clicando duas vezes no arquivo no Windows Explorer.
Repita as etapas 13 a 15 para PrinterPorts.reg e Windows.reg.
Observação
Essas etapas funcionam apenas para impressoras locais.
Para habilitar o IIS a enumerar as impressoras de rede usando a conta SYSTEM, siga estas etapas.
Observação
Se o processo estiver em execução na conta do Serviço de Rede, serão necessárias permissões explícitas para o registro recém-criado.
Verifique se você está conectado atualmente ao servidor como um usuário que tem as impressoras de rede desejadas instaladas.
Inicie o Editor do Registro.
Selecione a seguinte chave:
HKEY_CURRENT_USER\Printers\Connections
No menu Registro , selecione Exportar Arquivo do Registro.
Na caixa Nome do Arquivo , digite c:\printconns.reg.
Para abrir o arquivo printconns.reg no Bloco de Notas, selecione Iniciar, selecione Executar, digite Bloco de Notas printconns.reg na caixa Abrir e selecione OK.
Substitua o texto
HKEY_CURRENT_USER
pelo textoHKEY_USERS\.DEFAULT
.Salve o arquivo.
Para importar o arquivo para o registro, clique duas vezes no arquivo no Windows Explorer.
Reinicie o serviço Print Spooler.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários