How to troubleshoot printing problems in Windows 2000 and in Windows Server 2003 (260142)



The information in this article applies to:

  • Microsoft Windows Server 2003, Standard Edition
  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server

This article was previously published under Q260142
Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

SUMMARY

This article describes how to troubleshoot some common printing problems in Windows.

MORE INFORMATION

Cannot print to a network printer after adding Internet Connection Sharing

After you add Internet Connection Sharing to the network, you cannot print. This problem occurs because Connection Sharing uses a Class C subnet with an address range of 198.168.0.x. To fix this issue, reset the IP address of the printer to match the subnet of the computers that are using Connection Sharing.

Cannot send a print job to a Windows 98 client

You cannot send a print job to a Microsoft Windows 98-based client that is using a password for the printer share from Microsoft Windows 2000 or from Microsoft Windows Server 2003. To resolve this issue, use the following command:

net use LPT1 \\computer\printerpassword /persistent:yes

Replace computer with the computer name of the Windows 98-based computer that is sharing the printer, replace printer with the name of the printer share, and replace password with the password for the share.

Error messages typically caused by local port monitor problems

When you restart the computer or restart the Print Spooler service, you receive the following error message:
Spoolsv.exe failed to start
When you open the printer's properties, you receive the following error message
Out of Resources Error
When you try to print a document, you receive an "Access violation" (Dr. Watson) error message. The Dr. Watson log points to Spoolsv.exe with error code C0000005.

You receive the following error message, and the print spooler stops:
The instruction at 'address' referenced memory at 'address'. The memory could not be read.
Attempting to restart the Print Spooler service or open the Printers folder causes the same message.

These problems may occur if the default local port monitor is changed by a third-party program. Fixing these problems requires editing the registry.

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
  1. Start Registry Editor.
  2. Locate the Local Port value under the following key in the registry:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Local Port

  3. Double-click the Driver subkey, and then edit the value. Change the string value to Localspl.dll, and then click OK.
  4. Check the following registry key for third-party monitors. Remove any non-default monitors:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors

    The default port monitors are:

    AppleTalk Printing Devices (When Services for Macintosh is installed)
    BJ Language Monitor
    Local Port
    PJL Language Monitor
    Standard TCP/IP Port
    USB Monitor
    Windows NT Fax Monitor

    ** LPR Port

    NOTE: Do not remove LPR Port Monitor unless advised by a Microsoft Support Professional.
  5. Check the following registry key for third-party print providers. Remove any non-default print providers:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers

    The default print providers are:

    Internet Print Provider
    LanMan Print Services

  6. Check the following registry key for third-party print processors. Remove any non-default print processors:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Print Processors

    The default print processor is:

    WinPrint

    To find out what printer is using the print processor, use the Microsoft Product Support Reporting Tool (MPS_REPORTS) tool to open MachineName_PRINTDRIVERS.TXT, and then search for the third-party print processor and for the queues that are using the print processor.
  7. Change the third-party print processor to WinPrint.
  8. Click Start, point to Settings, and then click Control Panel.
  9. Double-click Printers, right-click the printer, and then click Properties.
  10. On the Advanced tab, click Print Processor.
  11. In the Print Processor box, click WinPrint.
  12. Click OK two times.
  13. Quit Registry Editor.
After you edit the registry, restart the print spooler. To do so, start Microsoft Management Console (MMC) and add the Computer Management or the Services snap-in. Right-click Print Spooler Service, and then click Start.

Cannot add Windows 2000 printer drivers to Windows NT 4.0

To add a network printer managed by Windows NT 4.0 to a Windows 2000-based computer, follow these steps:
  1. On the Windows 2000-based computer, install the printer locally on LPT1.
  2. Click Start, point to Settings, and then click Printers.
  3. Right-click the printer, and then click Properties.
  4. On to the Ports tab, click LPT1.
  5. Click Add Port.
  6. Double-click Local Ports.
  7. Type \\servername\printershare, where servername is the name of the server and printershare is the name of the printer share.
  8. Click OK.

Error message printing a document

When you print a document, you receive the following error message:
There was an error found when printing the document "Name of document" to LPT1:. The device is not ready.
If the printer is a network printer, try opening an IPC connection by using \\Servername to make sure there is network connectivity and that the server can respond to share requests.

For a local printer, check the cabling and power to the locally attached printer.

If these methods work, you may have to reinstall the printer drivers. To completely remove the printers you may have to edit the registry.

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
  1. Start Registry Editor.
  2. Locate the Printers value under the following key in the registry:

    KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers

  3. Remove the printers that are installed under this key. For example, remove the following key for a Generic Text/Only printer:

    KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\Generic / Text Only

  4. Follow the instructions in the "Error Messages Typically Caused by Local Port Monitor Problems" section of this article.
  5. Quit Registry Editor.
After you do this, reinstall the drivers for your printer.

Cannot print from a 16-bit MS-DOS-based program

In this situation, type the following line at a command prompt:

net use lpt1: \\servername\printer_share /persistent:yes

In your 16-bit program, print to LPT1. You can assign other LPT ports to MS-DOS-based 16-bit programs if the program has to use other ports.

Additional information

For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

156082 Windows printer driver support

255507 No local ports are available for printers

247408 Error message or spooler hangs when you pause or resume printing

240683 Windows print spooler performance enhancements

246855 Managing network printing in a Windows environment

257859 BitWare causes Spoolsv.exe program error in Windows


Modification Type:MinorLast Reviewed:10/12/2006
Keywords:kbhowto kbtshoot w2000print KB260142