Renaming Printer Shares Solves Errors

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Windows Tips & Secrets, a publication by PLATINUM Technology, Inc., ©1998

If you've had unreliable printing, the problem may be as simple as the way you've named your network shared printers. If the problem seems to be with one particular program or with related programs, then the odds are even greater. It seems that some programs that are either poorly written or hastily updated to be Windows 95 compatible, may not be able to handle certain printer share names.

Some programs have difficulty handling printer names with spaces in them. Some programs have trouble using UNC names to refer to printers. You might experience any number of problems. Anything from error messages like, "Cannot open printer driver", to total system lock-up. One give-away will be missing or partial printer names in the print dialogue boxes within the suspect program. Programs written for Windows 3.1x, in particular, may display strange printer names.

The reason for the problem is that these programs don't use the Windows 95 COMMDLG.DLL that provides programming hooks for devices. Instead, these programs still use the device lines from WIN.INI. Often when parsing out these lines, they misinterpret the spaces as delimiters between share names. Therefore, when the program refers to the printers, it may have part of one name mixed with the next. The device will either not be found, or strange results may occur.

For legacy programs, Windows 95 can make things more confusing still. When you add printers in Windows 95, the new devices are added to the WIN.INI file, but in a slightly different format than Windows 3.1x. Even if you capture the printer port to the printer name, the UNC name is still written to the device line in the [Devices] label inside WIN.INI. Some programs still expect to find only the port name there.

You can try three things, if you suspect that your program might have this printing problem. They are, in order of possibility:

Remove Spaces in Printer names. Microsoft recommends against using spaces in printer share names. Use the underscore character instead to separate words of a descriptive name (e.g., \\The_Printer_Down_the_Hall). Most problems will be solved this way.

Capture the printer port. Many programs perform better when they can refer to the printer by the port name (LPT2:) instead of the UNC name.

  1. [Start]–Settings–Printers.

  2. Right-Click the printer icon–Properties–Details–Capture printer port.

  3. Select the Device name and enter the Path. Click OK.

If the above steps are not working, and you're working with older or poorly written software, you might consider editing the WIN.INI file directly. Capture the port as described above. Make a copy for backup. Open WIN.INI and locate the Device= line under the [Windows] label and for all the device lines under the [Devices] label. Replace the UNC name for each line with the port name (e.g., LPT3: for \\Server\Line_Printer).

You might have to spend a little time of trial-and-error troubleshooting, but these ideas will save you a lot of time pinning down strange system errors. Of course, you could always try calling the software vendor for technical support, but isn't it more fun to call them with the solution, and bill them for the time you spent solving it yourself?