You will need to get the following files from an installation of Windows:

  ps5ui.dll   pscript.hlp   pscript.ntf   pscript5.dll

They will be in all caps (uppercase) on the Windows machine, but make sure
you have them in lowercase, and then place them in /usr/share/cups/drivers/


Now you'll need to make sure /etc/samba/smb.conf is properly configured.
Sample parameters for /etc/samba/smb.conf are as follows:

  [global]
     load printers = yes
     printcap name = cups
     printing = cups
  
  [printers]
     comment = All Printers
     path = /var/spool/samba
     browseable = yes
     public = yes
     guest ok = yes
     writable = no
     printable = yes
  
  [print$]
     comment = Printer Drivers
     path = /usr/share/cups/drivers
     browseable = yes
     guest ok = yes
     read only = yes
     write list = root


You might also want to create /etc/samba/users.map with e.g. this:

  darkstar # cat /etc/samba/users.map
  # This file maps Unix usernames to client usernames
  # Format:
  # Unix username = client username
  root = Administrator
  # add other mappings as needed 


Finally, export the printers with "cupsaddsamba -a" and restart cupsd.

If you have trouble, you might find this article helpful:
http://www.enterprisenetworkingplanet.com/netsysm/article.php/10954_3621876_2/Push-Windows-Printer-Drivers-with-CUPS.htm
