21 September 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!

Get Scottie Stuff!
How to fix “Windows cannot connect to printer” Errors in Windows 7
Tagged on:             

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

  • 30 September 2010 at 04:49
    Permalink

    You’re a genius! Thanks a million!

    Reply
  • 14 October 2010 at 10:56
    Permalink

    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.

    Reply
    • 14 October 2010 at 21:27
      Permalink

      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!

      Reply
  • 18 February 2011 at 19:48
    Permalink

    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!

    Reply
  • 10 May 2011 at 16:49
    Permalink

    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…

    Reply
  • 17 June 2011 at 16:09
    Permalink

    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.

    Reply
  • 5 August 2011 at 02:58
    Permalink

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

    Reply
  • 8 September 2011 at 16:44
    Permalink

    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!

    Reply
  • 10 September 2011 at 08:24
    Permalink

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

    Reply
  • 13 December 2011 at 04:43
    Permalink

    hi,

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

    Reply
  • 8 February 2012 at 19:30
    Permalink

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

    Reply
  • 15 February 2012 at 21:51
    Permalink

    @Sargey

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

    Reply
  • 28 February 2012 at 17:11
    Permalink

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

    Reply
  • 15 March 2012 at 05:24
    Permalink

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

    Reply
  • 17 April 2012 at 17:38
    Permalink

    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.

    Reply
  • 15 May 2012 at 18:17
    Permalink

    @Sargey

    Worked perfectly !! Thanks.

    Reply
  • 28 May 2012 at 03:12
    Permalink

    It worked!!! Great help! 😀

    Reply
  • 12 June 2012 at 14:03
    Permalink

    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.

    Reply
  • 17 August 2012 at 02:22
    Permalink

    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?

    Reply
  • 25 September 2012 at 15:44
    Permalink

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

    Reply
  • 6 October 2012 at 14:11
    Permalink

    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!

    Reply
  • 16 November 2012 at 19:00
    Permalink

    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.

    Reply
  • 8 April 2013 at 09:59
    Permalink

    This resolved my issue perfectly! Thanks a lot.

    Reply
  • 3 May 2013 at 13:12
    Permalink

    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 🙂

    Reply
  • 11 June 2013 at 22:10
    Permalink

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

    Reply
  • 18 June 2013 at 08:59
    Permalink

    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.

    Reply
  • 19 September 2013 at 21:42
    Permalink

    Thanks much, it works.

    Reply
  • 20 January 2014 at 00:47
    Permalink

    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 0x00000709 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

    Reply
    • 20 January 2014 at 13:19
      Permalink

      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.

      Reply
  • 20 January 2014 at 14:26
    Permalink

    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.

    Reply
  • 24 February 2014 at 08:26
    Permalink

    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

    Reply
  • 22 July 2014 at 18:38
    Permalink

    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.

    Reply
  • 21 August 2014 at 08:22
    Permalink

    thanks brother,you are genius !

    Reply
  • 11 November 2014 at 05:25
    Permalink

    we should do this procedure in server computer which the printer is shared from it to the network or in client computers.
    thanks

    Reply
  • 11 November 2014 at 06:02
    Permalink

    @Dennis
    dear brother
    i have an shared printer in network when i want to connect myself to this printer it gives me an error operation could not be complete what should i do.

    Reply
  • 21 November 2014 at 10:27
    Permalink

    Thnaks Scott. Your trick solved my 0x000003e3 error while trying to connect a Win7 laptop to a network print queue. I’ve been spending hours since yesterday trying to find a workaround and yours did it.

    Reply
  • 11 January 2015 at 10:32
    Permalink

    Copying dll file helped – great tips here! Couldn’t find anything better!!!

    Reply
  • 21 January 2015 at 20:35
    Permalink

    Worked like a charm. Thanks.

    Reply
  • 27 January 2015 at 07:57
    Permalink

    I Fixed it by adding another printer in the network then I return back to add my printer, IT’s WORKED.

    Reply
  • 20 February 2015 at 13:48
    Permalink

    Hello GENIUS, thanks from Argentina. I was a complete day trying to solve this problem. You’re the King !!!!

    Reply
  • 16 April 2015 at 19:18
    Permalink

    Tried your fix and also the fix with the MMC that was mentioned and I still get the Windows cannot connect to the printer. Some driver files are missing or incorrect…. Any other ideas?

    Reply
  • 26 May 2015 at 09:21
    Permalink

    thanks a bunch, I’ve been trying to solve this problem for weeks, this is about the fiftieth fix I’ve tried and it worked!

    Reply
  • 2 June 2015 at 18:35
    Permalink

    Thought this looked like the answer! Unfortunately not. The w32x86 folder didn’t contain a “3” sub-folder, so I tried copying mscms into w32x86 itself, then created sub-folder and into that. No joy either way. The networked printer is “visible” to the W7 m/c but it always ends up unable to find drivers. Any vital step I may be omitting? (The printer is USB-plugged to a Vista m/c.)

    Reply
  • 2 June 2015 at 19:12
    Permalink

    Hold it – maybe my Home Premium is 64-bit! Forgot to check … not my laptop so not 100% certain of the spec.

    Reply
  • 2 June 2015 at 22:14
    Permalink

    Yup, it is 64 bit. I moved the mscms file to the “3” sub-folder for 64 bit. Unfortunately still no luck. Not sure about the settings required on the Vista machine to which the printer is attached … where should rendering be done, does addtional 64-bit driver require to be activated on that Vista PC? Out of my depth …

    Reply
    • 2 June 2015 at 23:21
      Permalink

      I’m not sure if this fix works on Vista. You never know what they changed between Vista and 7.

      Reply
  • 3 July 2015 at 21:23
    Permalink

    muchas gracias !! thanks

    Reply
  • 31 December 2015 at 16:10
    Permalink

    I am running Windows 7 x64 wth SP1 and updates up to date. Ran into this same issue after doing a system restore because my RDP stopped working. Restore fixed that but knocked out the main network printer we use. I tried removing/re-adding it to no avail. Downloaded drivers from mfgr and installed them, no luck.

    Found this and copied that mscms.dll file to the …..x64\3 folder and then re-added the printer from the directory and it worked! Good that it still solves problems 5 years later 🙂

    Thanks!

    Reply
  • 8 February 2016 at 08:03
    Permalink

    Thank you very much for your help. It worked!!

    Reply
  • 22 March 2016 at 20:16
    Permalink

    @Sargey

    Thanks Sargey, this is the fix that worked for me:

    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!

    Reply

Leave a Reply to Carrie Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.