OK folks, here is the solution!! At least it worked for me.
YES! It finally works!! I gave up on the whole Samba/ Print from Windows option and tried the LPD option instead and it worked. Here's the link where I found the solution:
http://applejac.typepad.com/applejacmacintosh_users/2007/03/mac_osxwindows.html
There is an explanation in the top part of the article, and a fuller one in the discussion below:
"on the vista machine that is connected to the printer
1. hold the start button on the keyboard and hit 'r'.
2. type 'cmd' and hit enter.
3. type 'ipconfig' and hit enter.
4. write down the ip address of the vista machine.
5. open control panel.
6. open the printers option and write down the name of the shared printer you want to use from the mac.
7. go back to the control panel and open 'programs and features.
8. on the left sidebar click 'turn windows features on or off'.
9. expand the print services folder and enable all 3 options.
10. hit ok and then wait for the dialog to go away (might take a few minutes).
on the mac you want to print from
1. go to system preferences
2. open print and fax
3. click the plus sign to add a new printer.
4. hold the option button and click 'more printers'.
5. on the top pulldown menu select 'advanced'.
6. on the device pulldown menu select 'lpd/lpr host or printer'.
7. enter the name you want to use for the printer.
8. in the device url field enter:
lpd://(vista computer ip address)/(vista printer name)
9. select the printer model.
10. click add."
There are several key moments in this discovery which other people need to be aware of:
1. You need to set up printer sharing in Vista without the need for a password
2. You need to know that when the Mac asks for a password in the Printer setup Utility you can just leave the boxes blank
3. You need to know that you can get the "advanced"add printer dialogue by holding down the alt key while clicking "add" (or the "option" key as mac users strangely call it (despite the word "alt" being printed on the key!!)
4. You have to know to install the latest Gutenprint software on your Mac (from Sourceforge.net) to drive the network printer, and you have to select your actual printer before you finally add it - otherwise you end up with a generic driver which won't work.
5. You need to make sure that the name of your Vista computer and the name of your printer are usable by OSX - they can't have any spaces or dashes or non alphanumeric characters - I had to change both the computer name and the printer share name.
Each of these held me up for a long time - there is no way anyone would know these things without help from forums as there is nothing about them in the help section of OSX as far as I can see. Then, if your printer is not appearing in the Print from Windows dialogue in the Apple setup routine, and the Advanced option of putting in the smb: details just gives error messages when you try to print, you have to abandon the smb thing and go for the LPD option as per the instructions above.
I tried a number of other things and don't know whether any of them actually made any difference or not, but if the solution isn't working it is worth trying them just in case.
- I installed Bonjour on the Vista machine (as far as i can tell it made no difference, but who knows?)
- I opened Port 5353 on my wireless router because i read that this is the port that Bonjour needs (if Bonjour is irrelevant this wouldn't be necessary but who knows?)
There are a variety of syntax structures you can use when setting up the printer manually in OSX, but in general it seems to work better if you use IP addresses rather than workgroup and computer names where possible. In the end the syntax that worked for me was the very simple lpd://(ipaddress of Vista machine)/(share name of printer).
Anyway, I'm glad it works and ho[pe this solution helps others.