Twice in quick succession I have faced this issue, and last night at Fee and Dave’s, I fixed it!
The scenario is this: you have a PC with Windows XP on it, and you finally add a broadband or cable router to the network in order to connect it wirelessly to your new shiny laptop which of course runs Vista.
Internet access is fine; file sharing is fine; no matter what you try to do to get the printer to link will work – Vista keeps reporting “Access is denied”.
This is the solution:
a) On the XP Machine
- Open up the control panel and select PRINTERS
- Right click on the Printer you want to share and select “SHARING”
- Select the radio button for sharing and give the printer an easy name “EPSON” or “CANON” or “LASER“
- (If you have failed to get a connection and come here to find the solution, you will probably already have done the above several times)
- Make a note of the Machine’s Network name. You can find this by going to CONTROL PANEL / SYSTEM/ COMPUTER NAME. There you will find the PC’s name and Workgroup (the default is MSHOME). The default Network name might be a but scary PC-9876546 for example. You can change it to make it a little friendlier: DESKTOP might be a good one or STUDY. If you change either of these, then you will need to reboot.
- The UNC (Universal Naming Convention) name of the printer is (for example) \\DESKTOP\LASER You ought to remember this.
b) On the Vista Machine
- As we have seen already (which is why you’re here), just “Adding a Printer” / “Network Printer” doesn’t work, so here is the solution
- Go to CONTROL PANEL / PRINTERS and select “Add a Printer” but now select “LOCAL PRINTER” rather than Network
- Then select “Create a New Port” and select “Local Port” as the type of port you want
- Then enter the UNC name of the printer (see, I told you you needed it, and also why I encouraged simple names -preferably without spaces)
- You will then go through the selection of a printer driver. If the driver is not listed, and you have it on CD or have downloaded it from the web, this is what I did next…
- Without closing the dialog box we have just been working on, I ran the Printer Driver installation program for the printer (Epson is a good example of suppliers of self-contained printer drivers)
- When that program said something along the lines of (and it varies by manufacturer) “and where is this printer to be found?” I scrolled down the list of options to find the UNC name (above) listed as a port. I selected it and hey-presto! Sorted!
- You can then finish the manufacturers install program and CANCEL the add printer dialog we had been using to create this special “local” (ha ha) port.
Does that help? Let me know if it has been useful to you.
The solution was originally documented here. Respect to them.
Bad news: Further reading revieled that Windows Live Onecare does not support sharing printers between 64-bit and 32-bit. I installed Live Onecare on my workgroup. They will not tell you until problems.