Can't get Win2K to print to Tiger via Bonjour


I have OS X 10.4.2 running on a Mini, which is networked via a Dlink wireless router. There's a Canon i550 attached via USB to the Mini. I need to be able to print on the Canon from PCs in the house -- most importantly, from an old Sony Picturebook running Win2K.

I can successfully print to the Canon across the network from my Powerbook. I can also see the printer using the Bonour Printer Wizard from the Win2K system; however, when I send print jobs to the printer, nothing happens. The job goes through, it flashes briefly on the print queue on the Mini, and then that's it -- nothing comes out. It's as though there was nothing to the job. No errors, no nothing.

Before I set up the printer on the Win2K system, I downloaded the latest drivers I could find from Canon and installed them, so AFAICS the Windows system has the right drivers on it.

Any suggestions?
Problem solved; the solution is really simple, and so far I've seen it in only one place:

Furthermore, it seems to be the case that this will be a problem for any printer that's not "Bounjour ready" -- in datasheets, this might also be stated as "Zero-Configuration" or "zeroconf". Right now, very few are.

The solution is that you have to set up the printer as a PostScript printer -- ideally, a Color LaserWriter of some kind. You'll lose any advanced features of the printer, but you'll be able to print to it.

The problem is that it's not intuitively obvious how to do that. Bonjour is actually a little too advanced in its ability to identify remote printers: It won't let you select an Apple printer when you're trying to set up a Canon, for example.

So what you have to do is to go ahead and set it up with the right printer definition and then go back and change it to have the wrong one. Here's a procedure that should work:

1. Make sure that your printer is shared on your Mac.
2. Login to your Win2k box as an Administrator.
3. Install Bonjour.
4. Start the Bonjour Printer Wizard.
5. Select the printer you want to set up.
6. Select the appropriate printer definition. (I guess you don't have to get too close on this -- you'll see why.)
7. Complete the Bonjour wizard; don't bother printing a test page yet, it most likely won't work.
8. Go to the Printers folder on the Win2K box (it should be inside the Control Panel and may show up on your Start menu).
9. Right-click on the printer you just set up and select "Properties".
10. Click on the "Advanced" tab.
11. Click "New driver", and work your way through the setup. I used an Apple LaserWriter; probably any reasonably generic color postscript printer would work.
12. When you've set up a new driver, "Apply" the changes, go back to the main tab, and print a test page. (Give it a few extra seconds to work -- you're going across a network.)

Now, I had to spend a couple of hours doing nothing but looking for this solution before I found it, which I found odd. This is a problem that affects more or less anyone printing to a printer that's not "zeroconf". Responding that "they should be zeroconf" is a major copout. I can only conclude that Apple doesn't want to "confuse" people by telling them about the simple workaround on their support site -- which is to say, in usual Apple fashion, they don't want to admit that there could possibly be any problems with an Apple solution, even when that problem would still exist for ANYONE (Apple, MS, GNU, you pick) trying to solve the same problem.