A user has had numerous problems with the Print Spooler in firstly Vista and now Windows 7. The same laptop in both cases, each OS was a clean install. They were the only staff user on Vista (apart from myself) for quite a while. Vista print spooler crashed often for them with particular print drivers. We have a number of 7 users and computers none of which are having same problems.
All of our laptops are configured using Group Policy Preferences and receive the same set of printers. These are per-user printers which are Shared Printers under the GPP classification. There are 2 print servers; one running WS2003SP2 and one running WS2008SP2. The 2008 server was recently Hyper-V virtualised from a physical server. Some time before that the 2003 server was similarly virtualised. The 2008 server is a DC; the 2003 server is not.
Seen to date:
- Dialog box “Test page failed to print. Would you like to start the print troubleshooter? The Print Spooler service is not running”. Even when it is running.
- Similar message saying the print server’s print spooler service is not running. Even though it is running and no other user has had any printing problems.
- Event log events 365 with text “Windows could not load print processor BrPrint because EnumDatatypes failed. Error code 126. Module: BRPP2KA.DLL. Please obtain and install a new version of the driver from the manufacturer (if available), or choose an alternate driver that works with this print device.”. Even though the printer the user is trying to print to does not use this print processor, and it is not listed as a print processor for any printers in the Print Management administrative tool.
- Event log events 602 with text “The print spooler failed to reopen an existing printer connection because it could not read the configuration information from the registry key S-1-5-21-1131366045-2363284717-2431634961-2688\Printers\Connections\,,DC02,C8 Photocopier 1045 PCL. This can occur if the key name or values are malformed or missing.” Logged for a number of different printers.
- In the case of this particular laptop there are 1708 print service events logged in just 48 hours of which 1703 are Errors.
- Investigation is that the BrPrint print processor is in fact used by some Brother printers, particularly the model HL5140, but not used by others.
Remedies tried to date:
- The laptop was rebuilt with Windows 7 replacing Vista. The user’s profile was copied over from Vista to 7.
- The user’s profile was dropped and a new profile created, then the user’s documents, pictures, music etc were restored, but not their AppData or other application data or system files.
Next step:
- Next step is to isolate the user account into its own test OU in ADUC and configure GPP to delete all the current printer connections and install only nominated printers excluding any Brother printers.
- After that if there is still a problem we will look at dropping the user account and creating a new account.
- We may look at changing the print processor on the server for particular printers that use BrPrint, even though it is hard to prove this is the problem.
- The registry key errors might be related to the SID of the user account and it’s possible creating a new account with its new SID might resolve this particular part of the problem.
More Info [1], [2] – both of these suggest that a print driver problem is the cause.
UPDATE 1: I soon found another Windows 7 user at our site having the same problems. And digging into the event log on my own computer found masses of the same type of error logged. So it appears that there is just a difference on how this problem presents to the end user, not that it is happening. The events are logged in the Microsoft-Windows-PrintService/Admin log, which is one of the new extended logs that are provided in Windows 7 and which greatly expand upon the logging options in previous versions of Windows. At our site the BrPrint processor is only being used by the Brother HL5140 printer which is a fairly old model now, problem is I have two of them. So the first step to try is updating the drivers on the servers to the latest available.
UPDATE 2: In the meantime I tested the most difficult user by applying a GPP to remove all their printers, then another GPP to install just the printers that aren’t from Brother. So far this has been successful so it will be applied to all the affected users. After that I will be using a test configuration to test out Brother drivers.
UPDATE 3: In theory driver isolation should help with these problems. Driver isolation is a new technology that was introduced on Windows Server 2008 and Windows 7 which enables individual print drivers to be isolated from being able to affect other print drivers. The main issue is that most of the print queues are running on a 2003 server so the next step is to move some of them, particularly the suspect ones, to a 2008 server.