Home > Computers > How to fix “Windows cannot connect to printer” Errors in Windows 7

How to fix “Windows cannot connect to printer” Errors in Windows 7

September 21st, 2010

Let’s say you’re running Windows 7 on a computer connected to a local network. There is a shared printer running on a different machine on the network. The drivers for the printer are installed on the remote machine, and the printer is shared.

You think that you’ll just sit down at your puter, use the Add Printer feature, connect to the remote printer, the driver will be copied over to your machine automagically, and you’ll be off and running. But then you see this:

Windows cannot connect to the printer. Operation could not be completed (error 0x0000007e).

There is a common solution you can find on the web involving creating a new local port and inserting the network path to the remote printer, but you may find that doesn’t work either!

The solution to your problem is very simple, and is even available as a Hotfix from Microsoft. You don’t really even need the hotfix, though. Here’s how you “fix the glitch”.

It turns out that this “cannot connect to printer” error (0x0000007e) is well-known to Microsoft. Check out this Technet forum thread entitled “Windows 7 Printer Problems”:

winerror  0x7e
126 ERROR_MOD_NOT_FOUND <–> 0xc0000135 STATUS_DLL_NOT_FOUND

When the printer was added to the server, the driver created a registry to copy this file which in not neccessary since the client already has the file.

During the connection process, the driver resets the path from \windows\system32 to the print drivers directory \windows\system32\spool\drivers\x64\3 (or w32x86\3)  but never sets it back to default and the spooler process does not reset it either and looks for the color module mscms.dll in the drivers directory.

Look at the registry setting of the problem printers on the server

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\PRINTERNAME\CopyFiles

Is the module value  \windows\system32\mscms.dll  or just mscms.dll?

I think if you copy the mscms file to the drivers directory on the client you can workaround this issue.  You could also remove the data from the Module value and verify creating the connection succeeds and printing is as expected.

Further down the thread, we find there is actually a hotfix available:

I suppose this is the solution: http://support.microsoft.com/?kbid=982728

It turns out this hotfix will be included in Windows 7 SP1!! Apparently Microsoft didn’t think it was important enough to test the fix thoroughly and release it early – despite the huge number of people having this problem if my search results are any indication.

You can request the hotfix if you really want to, or even wait for Windows 7 SP1, but the “workaround” is so simple that there’s no point in trying the other options:

  1. Go to the C:\Windows\system32\ directory and find the file “mscms.dll
  2. Copy that file to:
    • C:\windows\system32\spool\drivers\x64\3\ if you are using 64-bit Windows 7
    • C:\windows\system32\spool\drivers\w32x86\3\ if you are using 32-bit Windows 7

That’s it.

Now try to connect to the remote printer again. This time, it will work!

This error does not appear to depend on the type of printer you have, or what driver you use. On 10 computers, I saw the problem 5 times. It seems to be a toss-up as to whether it will happen or not.

Hopefully now you won’t have to spend 4 hours looking for the solution like I did!

If all else fails, you can always treat yourself to a new printer!

Computers , , ,

Shortlink:

  1. Hays Sleiman
    September 30th, 2010 at 04:49 | #1

    You’re a genius! Thanks a million!

  2. Jake
    October 14th, 2010 at 10:56 | #2

    Sorry, same error still happens for me. I copied the file in two locations and even did the HOTFIX, nothing seems to work.
    I’m using Windows 7 64bit, connecting to a Windows 2000 print server.

    • October 14th, 2010 at 21:27 | #3

      Oh dear god, Win 2000!! :)

      I’ve only tried the fix with XP and 7 as the print server. I haven’t even seen Win 2k in years. If you do manage to figure it out, I’d love to know what the prob is!

  3. ralf
    February 18th, 2011 at 19:48 | #4

    thanks dude… you saved my friday night
    it worked liked a charm for our kyocera taskalfa 250ci and win7 x64
    ms stopped the download for hotfix kb982728 at the moment, maybe for the sp1 rollout? whatever.. thanks!

  4. Tom Pellitieri
    May 10th, 2011 at 16:49 | #5

    I’ve tried several solutions, including this one, with no luck. I’m trying to install an HP P3005 on 32 bit Win 7 SP 1 shared on a Win 2003 Server. The other P3005 installed just fine! Guess I’m still searching…

  5. Cat
    June 17th, 2011 at 16:09 | #6

    We encountered the 0x07e Cannot Connect to Printer error when adding a HP LJ 4050 on a Win7 x64 w/SP1 from a 2008 Print Server. (Problem did not occur on all Win 7 machines) Even though the machine was at SP1, the dll referenced above didn’t exist so we tried copying it over without success. What ended up working for us was opening MMC on the problem PC, adding in the Print Management snap in for ‘local’ server (computer name of the problem PC), navigating to drivers and deleting the driver package. In our case, this was the “HP Universal Printing PCL 6 (v5.2) which was being used on the network print server for LJ 4050. Rebooted the machine and could then add the HP LJ 4050 as a network printer. It appears that the driver package had been downloaded to the local machine but for some reason Windows could not connect to the printer…corruption during install?? Removal of the driver package from the local PC did it for us.

  6. Matt
    August 5th, 2011 at 02:58 | #7

    Thanks for posting this, the solution worked for a local shared printer issue I had to deal with today.

  7. Sargey
    September 8th, 2011 at 16:44 | #8

    We had the same problem with the Universal print driver from HP.

    Client – Windows 7 32bit
    Server – Server 2008 64bit

    All I did was go into the registry on the SERVER to

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\PRINTERNAME\

    and delete the “copyfiles” key in full.

    Tried to add the printer again and it worked no probs!

    Happy days!

  8. Clyde Shavers
    September 10th, 2011 at 08:24 | #9

    Thank you. You’re a life saver. The fix worked perfectly.

  9. booma
    December 13th, 2011 at 04:43 | #10

    hi,

    thanks, great work u done, thousands of thanks.I fix my problem using ur’s guide. thank u so much

  10. Laurie
    February 8th, 2012 at 19:30 | #11

    Thank you SO MUCH!! Great work-around! It didn’t work on my “regular” driver, but it did work on (Copy 1)…who knew?

  11. Steve
    February 15th, 2012 at 21:51 | #12

    @Sargey

    Thanks, this worked for us. Was my last step, tried all of the others first. This worked…Thanks Again!!!

  12. Shara
    February 20th, 2012 at 21:20 | #13

    Same here… It’s getting frustrating. @Jake

  13. Sherry Mayberry
    February 28th, 2012 at 17:11 | #14

    Unbelieveable!!! I have been working on this for two days. Now on to something else.

  14. Hasmukh Patel
    March 15th, 2012 at 05:24 | #15

    It work for me after changing path in Module string in registry to C:\Windows\system32\spool\DRIVERS\x64\3\hpcdmc64.DLL

  15. April 17th, 2012 at 17:38 | #16

    Amazing!!! What is it with M$? If technet used something like a half decent search engine it might help.This fix worked perfectly 1st time on W7 64bit SP1 against an SBS2008 server.

  16. Phil
    May 15th, 2012 at 18:17 | #17

    @Sargey

    Worked perfectly !! Thanks.

  17. Zar
    May 28th, 2012 at 03:12 | #18

    It worked!!! Great help! :D

  18. Rich D.
    June 12th, 2012 at 14:03 | #19

    Wow! I have had an issue with multiple printers not installing for a few weeks now. Other solutions that talked about moving dll files around and editing other parts of the registry did not work.

    This one worked perfectly and the result was immediate.

    Thank you, thank you, thank you.

  19. tajari
    June 28th, 2012 at 12:26 | #20

    Thanks a lot time saver.

  20. July 19th, 2012 at 21:58 | #21
  21. Lauren
    August 17th, 2012 at 02:22 | #22

    I was trying to install a Xerox 430 printer on a client’s machine running Windows 7 64-bit. The mscms.dll file you mentioned was not in that folder so I was at another roadblock. What do you do if that file does not exist?

  22. Chris
    September 25th, 2012 at 15:44 | #24

    saved me hours of troubleshooting, for some reason this worked. thanks!

  23. Dennis
    October 6th, 2012 at 14:11 | #25

    This worked perfectly for me in Windows 7 SP1. It also worked in a VM where I defined a shared printer connected to another computer on the network. Many thanks!

  24. satria
    November 16th, 2012 at 19:00 | #26

    Thanks actually that printer driver location helps me to copy the files from working system, after i tried to add the printer from network commonly and it is added.

  25. Oye
    April 8th, 2013 at 09:59 | #27

    This resolved my issue perfectly! Thanks a lot.

  26. Gauravjeet
    May 3rd, 2013 at 13:12 | #28

    Hello guys..I solved this problem in a very simple way.
    Try accessing the host pc by ip address and not by name.
    After that when you will connect to the printer then it will install the drivers automatically without giving error 0x000003e3.
    It worked for me.
    Hope it works for you all :)

  27. Lee
    June 11th, 2013 at 22:10 | #29

    Awesome dude! I knew there had to be a workaround. I could print sometimes, sometimes not. You got it spot on. Thanks a million!

  28. BillyTsik
    June 18th, 2013 at 08:59 | #30

    I love you man. Seriusly i love you. If you ever come over to Athens Greece mail me up on FB (Billy Tsik). I want to buy you a beer.

  29. Garth
    September 19th, 2013 at 21:42 | #31

    Thanks much, it works.

  30. Carrie
    January 20th, 2014 at 00:47 | #32

    Hi Scottie. Read the threads with interest and was impressed with the work you do here.
    My problem is that after my hard disc “died” and was replaced, i tried to back up my computer onto a new external disc. It was stopped with the dreaded 0×00000709 error. Tried your fix but it still came up with the same error. So I rebooted, leaving the external disc in and was automatically allowed to back up.
    Thank goodness – I’m in a bushfire alert area at the moment. However when i clicked the “View Details” box, the error cropped up again!!!
    Needless to say I ignored it and carried on. Back up still seems to be continuing, so fingers crossed.
    Any further thoughts? Many thanks

    • January 20th, 2014 at 13:19 | #33

      You got a printer error while running a backup?? That’s bizarre. I’m not sure what’s going on in that case, although it’s possible something else is screwed up and the 2 problems are not necessarily tied together.

  31. Carrie
    January 20th, 2014 at 14:26 | #34

    Thanks, Scottie, that may well be the case, but as my backup went without a hitch and my printer(s) are still working well, i am quietly going to ignore the issue unless it raises its ugly head again. Ciao Carrie.

  32. Ariel
    February 24th, 2014 at 08:26 | #35

    THANK YOU. i still have not tested this but the fact that you took the time to sit down and write the solution for us to find is a testament to your great charcter. i have been plageued with this problem for two months on my new work station and if this works its a salvation.

    you are one great human being.

    thank you,

    Ariel

  33. Young Chang
    July 22nd, 2014 at 18:38 | #36

    So the the issue I had is a printer I had previously had installed and reinstalled and I got this error.

    In order to fix my problem I searched “Print Management” looked for the drivers associated with the printer. Removed them. (If I had problems removing a driver restarted the print spooler service resolved that issue).

    Reinstalled the network printer and it worked.

  34. Andar
    August 21st, 2014 at 08:22 | #37

    thanks brother,you are genius !

  1. No trackbacks yet.