How to Fix 99.9% of Windows XP Printer Driver Issues – AKA Windows Printer Reset
Recently, I tried to install an old Zebra Eltron 2543 and 3844 parallel thermal label printer on an office computer. I found that no matter what I tried, I always ended up with the generic error message of, “Unable to install printer. Operation could not be completed.” When trying to install other printers, I found the same error message popping up right after I clicked on the finish button.
To solve this problem, I attempted the following (all of which did not work):
- Downloaded the most current drivers
- Try alternate drivers
- Change the driver in already installed printers
- Try to print to the newly installed printer with an already installed printer
- Restarted multiple times
- Made sure all Windows updates were installed
- Booted into safe mode and tried to install printer
- Installed the printer successfully on another computer
After all this, I was ready to format and reinstall Windows. I decided to check out Microsoft’s site to see if there were any known issues with my printer or computer. I stumbled upon a knowledge base article that really helped fix this problem, and I’m sure it can help fix many other printer driver related issues.
Here are the steps to take to completely remove all printers on your computer. I like to think of this as a “clean reset” of the printing functionality in Windows XP. These steps involve touching the registry. If you’re not comfortable with going in there and making changes to this portion of the operating system, I wouldn’t suggest it. I make no warranty that these steps will fix your issue. I strongly recommend making a complete backup of the entire registry before beginning.
1. Startup your computer is safe mode. This is done by pressing F8 when you first turn on the computer until you see the Windows menu. Select “Safe Mode” and wait until the computer is finished booting up.
2. Delete all files and folders out of these two locations.
- C:WindowsSystem32SpoolPrinters
- C:WindowsSystem32SpoolDriversw32x86
3. Open the registry editor. To do this, click Start, click Run, type “regedit” in the Open box, and then press OK.
4. Locate and expand the following registry key:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintEnvironmentsWindows NT x86
There should only be the following two subkeys (delete the rest):
- Drivers
- Print Processors
5. Expand the Version-x subkeys, and then delete all the printer driver entries.
6. Locate and then expand the following registry key:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintMonitors
There may be a bunch of different subkeys in this place. These are the only ones that should be there, delete the rest:
- BJ Language Monitor
- Local Port
- PJL Language Monitor
- Standard TCP/IP Port
- USB Monitor
You can also delete any extra ports that were created but are no longer needed at this location in the registry if you wish.
7. Check to see if the Print Spooler service is running. To do this, follow these steps:
- Click Start, right-click My Computer, and then click Manage.
- Expand Services and Applications, and then click Services.
- In the details pane, right-click the Print Spooler service, and then click Start (if it is stopped).
- Exit Computer Management.
If this service doesn’t start, you may have other issues. Head to the link at the end of this article. That that KB page, there is a link to work out printer spooler problems.
8. After all these steps are done, go ahead and restart the computer and try and add a printer. It worked great for me. Hopefully this will help out anyone with that annoying, “Operation can not complete” error.
These steps are a tech’s abridgment of this Microsoft KB article (324757)
Thanks so much for this info. After many hours of pulling my hair out, removing and reinstalling drivers, I was about to reformat. Luckily, I made one last google search and found your post. Worked like a charm.
I wanted to thank you too. I was ready to reformat my machine but did some web browsing regarding my printer install issues and came across your timely article…clear, concise and most of all it worked. The printer installed like a dream. Thanks!
Thanks! I was ready to purchase a new printer to repalce my Canon Imageclass 880 when I found this fix on Google. Best regards!
Thanks. I too was going to reformat which is always my last resort, but a search on yahoo brought me to your site. Saved the day for me.
fixed my problem!
I was having problem to install zebra2844, got an error message” Data area passed to a system call is too small”, and tried this, it fixed!!! Thanks much!
Thank you!! I wanted to copy a driver onto another computer and I stumbled upon your site…found that driver..and others! Peace and regards….
Thanks for the lifesaver!!!!!
windows explorer would crash and take 20 min to even start.
NOW MY COMPUTER STARTS UP IN 15 SEC AND ALL PRINTERS WORK!!!!
I am grateful that you posted this information. I was going crazy trying to fix a ‘data area passed to a system call is too small’ error when trying to add a printer. Following your instructions I was able to clean everything up and reinstall all the printers back.
did not work for me.
still says “Printer driver was not installed. Operation could not be completed.”
Error: ‘The Data Area Passed to a System Call Is Too Small’ installing zebra 2844. All these steps resolved the issue. Thanks!!!
Worked great. Too bad all my printers need to be re-installed. I have a server on our domain that has about 20 shared printers. Would definitely be a PITA if I had to do this to that machine.
Thanks for that tip. Worked a treat. However, if you go to the knowledge base article in you link there is a “fix it” that you can just download and run that saves you having to do all this manually {:o)
Many thanks, I could not get around “environment specified is invalid” error message during printer installation, your post worked like a charm.
Thanks for posting this!
Worked like a charm. I knew that if I could manually clean out all the printer items I could fix a machine that couldn’t print.
The directory C:WindowsSystem32SpoolPrinters on the machine I was working on was corrupt. Had to run chkdsk /f to gain access. Then followed the rest of the instructions and reinstalled the drivers.
Thanks again!
Thank you! After many hours of not fixing the problem and various registry software attempts, your steps led me to a fix. Thank you for posting this information. It was an enormous help.
I tried this posting to no avail. I installed the printer locally to a TCP/IP port with updated drivers from the website and it worked. I installed the same driver to the print server, deleted the network and local printer on the client, re installed the printer on the client and experienced the same problem. I switched the driver on the server to PS3, but the print jobs were being deleted, I toggled it back to the other driver, installed the network printer on the client and the problem disappeared.
Thank you so much! Hard to believe that you posted this in April 2008, and nearly 4 years later, you are still helping people.
I had the same experience as everyone else here-tried registry cleaner, uninstalled/re-installed latest printer drivers, ready to re-load XP etc. etc. Nothing worked, and I could not find any good help in other postings.
Fixing my problem required a slight deviation from above as my “environments” key in step 4 had no sub-keys (that is, no “Windows NT x86”). I was able to copy that from another XP computer, though, and everything else worked great. Now I am printing.
Once again thanks so much!
Found your post, worked perfectly with a bad Dell printer driver, all is good again. thanks for the info!