Do you have a few year old printer, one that you don’t see any need to replace? Have you recently purchased a new computer with Windows Vista pre-installed? Have you noticed that Vista doesn’t like your old printer?
One of the most frequent complaints about Vista is its limited hardware support. Vista ships with compatible drivers for many new peripherals, but it refuses to work with drivers written for XP or older versions of Windows. Many new computers are sold without parallel ports, so the only printers that can be added are those which connect via a USB cable, in other words newer printers.
Speed is the reason many manufacturers are changing over from parallel connections to USB.
Most computers and printers built in the last couple of years that retain the parallel port have gone from the standard parallel port to the enhanced parallel port (EPP). According to IEEE standard 1284, EPP can provide up to 2 Mbps bandwidth, approximately 15 times the speed achieved with normal parallel-port communication with far less CPU overhead. Then the USB port came along and raised the bar too high for parallel ports to compete.
USB 1.1 could transfer data at 12 Mbps while the current standard, USB 2.0, reaches theoretical speeds of 480 Mbps. Once computers are sold with supporting bus speeds and USB 3.0 becomes a reality (proposed for 2010) we could be looking at maximum data transfer speeds of 5.0 Gbps.
Obviously any operating system that expects to still be in use 5 years from now has to anticipate new technologies and, unfortunately in some cases, abandon old ones. The parallel port architecture is a thing of the past. Moving forward the only connections offered on a new computer will be USB and Firewire.
Still, there is hope for those of you determined to make your older printer work with Vista.
If you have Vista Ultimate (and possibly Business) version installed on your computer, go to StartRun and enter gpedit.msc to launch the Group Policy Object Editor. Under Computer Configuration, double-click Administrative Templates and select Printers. In the right-hand pane, find the policy named Disallow installation of printers using kernel-mode drivers and double-click it. Set its status to Disabled. By disabling the disallow policy, you enable the use of kernel-mode drivers—twisted! Click OK, close Group Policy Editor, and reboot. The downside of this setting is that a badly written kernel-mode driver can crash your system; that’s what the policy was meant to prevent.
If you have Vista Home Premium installed, it does not include the Group Policy Editor. But we can still make the necessary change to allow Windows to work with an older printer, we just have to do so directly in the Registry. As always, remember to back up your Registry before making any changes, and make sure you follow the directions to the letter. All changes made to the Registry take effect immediate and there is no “undo” or go back option (except to restore a backup copy, which is why it’s essential to make one). Incorrect Registry changes can result in a useless operating system.
Click Start, click Run, enter regedit. Navigate to the key HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTPrinters. (Note that it’s the “Windows NT” key in there, not “Windows”). In the right-hand pane look for a value named KMPrintersAreBlocked. If it’s not present, right-click in the right-hand pane, select New | DWORD Value from the pop-up menu, and name the new value KMPrintersAreBlocked. Double-click that value and set its data to 0 (zero). Now reboot.