Home > Technology > How-to: print from Snow Leopard to a Vista-attached printer

How-to: print from Snow Leopard to a Vista-attached printer

September 5th, 2009

Despite the massive improvements in Windows-to-mac connectivity, printing from a Mac to a printer attached to a PC seems to be more art than science.  After many attempts I finally managed to track down some instructions on how to print from Leopard (and Snow Leopard) to Windows Vista that actually work.  Other (more simple) ways might work for you; this is the only way I could get printing to work for me.

The original article can be found at here

Step 1: Share the printer in Windows Vista

If you don’t know how to do this you are reading the wrong blog post.

Step 2: Edit the Windows Registry (and maybe Group Policy)

Use the Registry Editor to set the following registry entry (create the key if it doesn’t exist):

  • Path: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa
  • Key: lmcompatibilitylevel (this is a DWORD)
  • Value: 1

If you are running Vista Business, Ultimate, and Enterprise you will also need to set a Group Policy. Open the Group Policy Editor (gpedit.msc) and set:

  1. Computer Configuration/Windows Settings/Security Settings/Local Policies/Security Options
  2. Right-click the ‘Network security: LAN Manager authentication level’ policy item, and select ‘Properties’ from the pop-up menu.
  3. Select the ‘Local Security Settings’ tab.
  4. Select ‘Send LM & NTLM – user NTLMv2 session security if negotiated’ from the dropdown menu.

Step 3: Add the Shared Printer to Your Mac

This is far more difficult than it should be.  You would think you would open the Print & Fax dialog, select ‘+’, select Windows, find your printer in the browse window and select it.  No chance.  Instead you need to:

  1. Choose the ‘Print & Fax’ icon in the System Preferences window and Click the plus (+) sign, located just below the list of installed printers.
  2. Right-click the printer browser window’s toolbar, select ‘Customize Toolbar’, drag the ‘Advanced’ icon from the icon palette to the printer browser window’s toolbar; click ‘Done’.
  3. Click the ‘Advanced’ icon in the toolbar; select ‘Windows’ from the Type dropdown menu.
  4. The next step is to enter the shared printer’s device URL, in the following format:
    smb://user:password@workgroup/ComputerName/PrinterName
    An example would look like this: smb://TomNelson:MyPassword@CoyoteMoon/scaryvista/HPLaserJet5000
    The PrinterName is the ‘Share name’ you entered in Vista.
  5. Enter the shared printer’s URL in the ‘Device URL’ field.
  6. Select ‘Generic Postscript Printer’ from the Print Using dropdown menu. You can try using one of the specific printer drivers from the list. The drivers most likely to work are labeled ‘Gimp Print’ or ‘PostScript.’ These drivers usually include the proper protocol support for shared network printing.

7. Click the ‘Add’ button.

All done.

Good luck.  It worked for me, but I can’t promise anything.

  1. Boni
    September 14th, 2009 at 15:08 | #1

    No, it looked so promising too. I think it’s just the drivers written for my Canon i9900 printer that prevent it from getting beyond the status of SPOOLING on the Vista side I have the latest CUPS drivers for the i9900 and the latest SL on my Macbook. I am sharing the Canon i9900 on the Vista computer and everything has been correctly set. So, at this point, I either have to print via Parallels/Vista which works fine, or, I have to hook up via USB directly from my Mac when I need to use this priner. My networked printers on the PC side, working thru my router setup, work perfectly. It’s only the shared printer that is giving me a headache.

  2. Rod
    September 17th, 2009 at 12:54 | #2

    you are an absolute legend!!!!!!!

    Thank you it worked!

  3. Jim
    September 25th, 2009 at 13:19 | #3

    Yeah, this looked like it should work (and thank you for this! Never would have found the solution this far)…

    But my Canon MJ530 also won’t print. Wonder if it’s a Canon problem…

  4. Rob
    October 10th, 2009 at 17:14 | #4

    You absolute god, I have been trying (on and off) to get wireless network printing from the Macbook to a Vista box for about a year and a half. Each time I tried before it would fail, time and time again but this time, SUCCESS!!

    I did all the steps, hit “print a test page”, ran downstairs and nothing happened, but hold on, there is an orange light flashing; no paper! So I refilled and what popped out, the test page =) I tried a proper document as I couldn’t quite believe it, it had worked again.

    Thanks so much, this will make things much easier, plus it saved me the £50 on a print server that I have contemplated for far too long.

  5. October 31st, 2009 at 02:03 | #5

    Very close, but I am watching the Queue on the Windows (XP in my case) machine. The job gets there, but then sits for 1 minute and disappears with no printer action.

    Despite putting in what I think is my username and password for the XP system, the user still says Guest in the Windows XP Printer Queue. What does yours say?

  6. October 31st, 2009 at 02:07 | #6

    Also, one more thought.

    When I send a print job from another Windows machine, the printer Queue has the name of the document I sent. When it is sent from the Apple, it says the document name is “Remote Downlevel Document”. What does yours say?

  7. njh
    October 31st, 2009 at 13:07 | #7

    Scott, mine says ‘remote downlevel document’ also. That is normal behaviour. The only thing I can think of is that your printer is not compatible with the default postscript driver. Clearly the document is getting to the PC and into the queue, which suggests there isn’t a login/security problem.

    Have you tried changing the printer driver on the Mac?

  8. James
    December 6th, 2009 at 10:08 | #8

    Bless you, my son. I was just about ready to dump Snow Leopard just so I could print. It would be nice if Apple had this simple solution somewhere on their site or in the documentation. It’s not like I have hours of time to surf for solutions to everyday tasks.

    I love a fix that takes all of 20 seconds. Good job!

  9. Tim
    December 20th, 2009 at 00:21 | #9

    I’ve worked on this for hours. The apple care customer service line didn’t have a clue. This worked beautifully! Thanks!!!!

  10. Brent
    January 6th, 2010 at 11:01 | #10

    Thank you! This worked for me as well and I could not get anything else to work! I had some trouble at first with not getting the names exactly correct, but after those corrections, it worked perfectly!

  11. Mick Hornbach
    January 6th, 2010 at 15:49 | #11

    This is great!

    The only thing I had to change was the SMB URL line. Instead of adding my PC name I just used the IP without the workgroup name! Like this:
    smb://myname:mypassword@192.168.2.10/ML-2510

    THANKS!

  12. D H
    March 30th, 2010 at 22:07 | #12

    Worked like a champ! I am new to Macs but very proficient with a PC. I did notice that I had to take out any spaces in my Shared name for the printer. After that I rebooted the PC and was able to connect right up to my Brother DCP-8020 from the MAC. Thank you!

  13. Zeke
    June 17th, 2010 at 13:13 | #13

    If the Windows print queue name has spaces, replace the spaces with %20. Thus smb://myname:mypassword@192.168.2.10/Big printer would need to be smb://myname:mypassword@192.168.2.10/Big%20printer

  14. Andy
    September 7th, 2010 at 17:29 | #14

    Hard to believe it but it worked.
    In this day and age, it shouldn’t be so hard to set this stuff up…
    At least it works I guess.

  15. Chris
    October 14th, 2010 at 05:47 | #15

    OK, my luck has not been so good. I’m trying to print from a wireless Macbook to a Canon MP470 on a USB port of a Vista Machine. Followed directions above (including regedit after which I rebooted), and document gets to the queue as “remote downlevel document” but it just spools forever. I loaded Gutenprint and tried both its MP470 driver as well as the generic postscript driver recommended above, with the same results. Can anyone help? Thanks!

  16. Han
    October 23rd, 2010 at 01:05 | #16

    This worked! Thank you!

    I more or less followed the instructions here to be able to print on my wife’s printer, which is connected to her Vista machine.

    1. Modified the vista (home premium) regedit
    2. Went to Vista printers, and turned printer sharing on (right click on default printer)
    3. Created a new account in Vista (not administrator), with password.
    4. Went to my Mac’s printer & fax panel, clicked on +.
    5. However, I clicked on “Windows” in the toolbar instead of “Advanced”, found my wife’s PC, and entered the username and password I had set up in Step 3.
    6. When printing didn’t work, I changed the printer driver setting (found in “Options & Supplies”), and found the printer.

    Hope this helps someone.

  17. Alan
    January 31st, 2011 at 20:30 | #17

    Awesome. Work perfectly for my Epson and Canon printers connected to my Windows Vista PC. Thanks a lot.

  18. Tom
    February 14th, 2011 at 20:20 | #18

    Thanks so much. I am PC literate, but my wife bought a MacBook a couple days ago and was really anxious to print. I was getting close, but didn’t know about the registry entry and probably never would have figured it out. Wife happy = peace for me.

  19. Siggi Engelbrecht
    June 18th, 2011 at 09:02 | #19

    Perfect description, I am impressed! Also works for printers connected to the parallel port of an xp machine. There you do not need, imho, to edit the registry etc. Just offer the printer within the network by right clicking etc. Check whether it worked from yet another pc. Then add the printer to the Mac. The “%20” trick is pretty neat – blanks in machine names always are a problem. 🙂

  20. macmary
    October 6th, 2011 at 06:01 | #20

    I have done all as per instruction but my printer spits our few blank pages instead of printed page.
    I have a bit old Brother HL2040
    Any suggestions will be much appreciated.

Comments are closed.