Team LiB   Previous Section   Next Section

10.6 Printing Tweaks

The paperless office is not yet upon us and may never be. Until it finally arrives, you need to keep printing things, and if you're using Windows 2000 or NT 4.0 you can improve your printing experience with some minor Registry changes.

10.6.1 Keep the Print Spool Service from Popping Up Dialogs

The print spooler has an annoying "feature" that causes it to display a notification telling you when a print job has been completed. I was delighted to find that you can stop it from doing so by adding a new REG_DWORD named NetPopup to HKLM\SYSTEM\CurrentControlSet\Control\Print\Providers. Give it a value of to suppress the alerts or 1 to re-enable them. After making this change, you need to reboot, but you'll be free of print status messages forevermore.

10.6.2 Change the Print Spool Directory

Windows 2000 and NT defaults to putting its print spool directories on the system disk. If you have a small number of print jobs, or a large disk, this may work fine; for disk space or performance reasons, though, it may make more sense to move your print spool directories to another volume. For example, networks that include high-resolution color printers such as the Epson Stylus 1520 (which print 11"x 17" pages in 24-bit color: each page takes several tens of megabytes of spool space!) can quickly overwhelm the free space on a typical Windows 2000 or NT system disk. Although Windows 2000 supplies a mechanism for modifying print server properties (from the printer folder, Filefigs/U2192.gifServer Properties; the Advanced tab holds the spool folder location), NT provides no user interface for changing the spool locations; fortunately, you're probably comfortable enough with the Registry so that you don't need a user interface!

If you want to change the spool directory for a single printer on an NT 4.0 system, you need to add a new value to HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers\<PrinterName>, where PrinterName is the name you gave the printer when you created its spooler entry. Name the new value SpoolDirectory, and make it a REG_SZ. For this item's value, supply the full local path to the spool directory. The spool directory can't be a UNC path, and it must exist. Under Windows 2000, that Registry path is used as a backup for printer entries under HKLM\SOFTWARE. To change the spool directory for a printer on a Windows 2000 print server, add a new REG_SZ value SpoolDirectory to HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\<PrinterName>. Supply it with the full local path to the spool directory.

If you want to change the default spool used for any printer that doesn't specify its own spool directory, you should add a REG_SZ value named HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\DefaultSpoolDirectory for Windows 2000, or HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers\DefaultSpoolDirectory for NT. As with SpoolDirectory, the path you specify here must be a fully qualified local path, and it must exist before you make the change.

If you add either of these values, you need to stop and restart the Spooler service. To avoid losing any queued print jobs, it's best to make these changes only when your print queues are empty; that keeps users from having to resubmit their jobs to get them into the new spool directory.

10.6.3 Stop Print Job Logging in Event Log

Normally Windows 2000 and NT logs every print job processed by a server in that machine's application event log. Since for the most part these logs fall into the category of "data no one will ever look at," you can configure the spooler service to not make these log entries in the first place.

To suppress print job event log entries for errors, warnings, and other information, add a new REG_DWORD value named HKLM\SYSTEM\CurrentControlSet\Control\Print\Providers\EventLog and give it a value of 0. As with all the other printing tweaks, this change won't take effect until you stop and restart the Spooler service.

    Team LiB   Previous Section   Next Section