ASP에서 호출할 때 COM 개체가 인쇄되지 않습니다.

이 문서는 COM 개체가 Active Server Pages에서 호출할 때 프린터로 출력을 보내는 문제가 실패하는 문제를 resolve 데 도움이 됩니다.

원래 제품 버전: 활성 서버 페이지
원래 KB 번호: 184291

증상

출력을 프린터로 보내는 COM 개체는 ASP(Active Server Pages)에서 호출할 때 실패하지만 대화형 애플리케이션에서 호출할 때 올바르게 작동합니다. 이 COM 개체는 Microsoft Office 애플리케이션과 같은 상용 제품 또는 사용자 지정 타사 개체일 수 있습니다. 일반적인 오류 메시지는 "ClassName 오류 '800a01e2' 프린터 오류입니다."

원인

대부분의 개체가 인쇄하는 데 사용하는 표준 API는 HKEY_CURRENT_USER 있는 레지스트리 항목에 따라 달라집니다. 이 레지스트리 하이브는 동적입니다. 프로세스가 실행 중인 사용자 컨텍스트에 따라 다른 정보가 이 하이브에 로드됩니다. ASP 페이지는 SYSTEM 계정으로 실행되는 IIS에서 실행됩니다. ASP 코드에서 COM 개체의 instance 만들 때 기본적으로 SYSTEM 계정으로도 실행됩니다. 기본적으로 SYSTEM 계정에는 레지스트리에 설정된 프린터가 없습니다.

해결 방법

이 문제를 resolve 시스템 계정에 대한 프린터를 설정할 수 있습니다. SYSTEM 계정에 프린터를 설정하려면 다음 단계를 수행합니다.

경고

이 방법을 사용하려면 레지스트리 편집기 사용하여 레지스트리를 수정해야 합니다. 레지스트리 편집기 잘못 사용하면 심각한 시스템 차원의 문제가 발생할 수 있으며 이를 해결하기 위해 Windows를 다시 설치해야 할 수 있습니다. Microsoft는 레지스트리 편집기 사용으로 인한 문제를 해결할 수 있다고 보장할 수 없습니다. 사용자 고유의 위험에 이 도구를 사용합니다.

  1. 현재 서버에 로그인한 사용자에게 원하는 프린터가 설치되어 있는지 확인합니다.

  2. 레지스트리 편집기(Regedit.exe)을 시작합니다.

  3. 다음 키를 선택합니다.

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices

  4. 레지스트리 메뉴에서 레지스트리 파일 내보내기를 선택합니다.

  5. 파일 이름 텍스트 상자에 c:\Devices.reg 입력합니다.

  6. 다음 키를 선택합니다.

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts

  7. 레지스트리 메뉴에서 레지스트리 파일 내보내기를 선택합니다.

  8. 파일 이름 텍스트 상자에 c:\PrinterPorts.reg 입력합니다.

  9. 다음 키를 선택합니다.

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows

  10. 레지스트리 메뉴에서 레지스트리 파일 내보내기를 선택합니다.

  11. 파일 이름 텍스트 상자에 c:\Windows.reg 입력합니다.

  12. 시작 단추에서 실행을 선택합니다. 실행 대화 상자에서 메모장 Devices.reg 입력하여 메모장에서 Devices.reg 엽니다.

  13. 텍스트를 HKEY_CURRENT_USER 로 바 HKEY_USERS\.DEFAULT꿉다.

  14. 파일을 저장합니다. 그런 다음 Windows Explorer 파일을 두 번 클릭하여 레지스트리로 가져옵니다.

  15. PrinterPorts.reg 및 Windows.reg 대해 13~15단계를 반복합니다.

참고

이러한 단계는 로컬 프린터에서만 작동합니다.

IIS가 SYSTEM 계정을 사용하여 네트워크 프린터를 열거할 수 있도록 하려면 다음 단계를 수행합니다.

참고

프로세스가 네트워크 서비스 계정으로 실행되는 경우 새로 만든 레지스트리에 대한 명시적 권한이 필요합니다.

  1. 원하는 네트워크 프린터가 설치된 사용자로 서버에 현재 로그인되어 있는지 확인합니다.

  2. 레지스트리 편집기를 시작합니다.

  3. 다음 키를 선택합니다.

    HKEY_CURRENT_USER\Printers\Connections

  4. 레지스트리 메뉴에서 레지스트리 파일 내보내기를 선택합니다.

  5. 파일 이름 상자에 c:\printconns.reg 입력합니다.

  6. 메모장에서 printconns.reg 파일을 열려면 시작을선택하고 실행을 선택하고 열기 상자에 메모장 printconns.reg 입력한 다음 확인을 선택합니다.

  7. 텍스트를 텍스트 HKEY_CURRENT_USERHKEY_USERS\.DEFAULT로 바꿉다.

  8. 파일을 저장합니다.

  9. 파일을 레지스트리로 가져오려면 Windows Explorer 파일을 두 번 클릭합니다.

  10. Print Spooler 서비스를 다시 시작합니다.