
Well, since the printer is installed on the Vista Machine - we will need to tweak the settings on it. Head over to the Printer folder inside of Control Panel in Windows Vista. Right click on the "All in one printer" and then Click Sharing. Click on Share this printer in the window that opens and then hit OK.
Next get the IP address of your Windows Vista box, go to Start > Run and type "cmd" enter. Then type "ipconfig" enter. Now note down where it says "Local Area Connection" IP address: "numbers with dots".
After this, move to the XP computer without a printer.
On the XP machine, go to Start > Run, type "\\ipaddress\" where ipaddress are the numbers of the Vista computer. When a windows opens asking for a user name and password input those credentials from your computer. If it doesn't ask it will be even better. Now with this command you will open a folder and the printer will be there. Double click the printer and now the XP computer will be able to use it.
Also, note that both computers have to be in the same WORKGROUP. To verify this: Right click My Computer icon on the desktop, go to properties, Computer name tab. There you can see the WORKGROUP name and even change it to match the same in both machines.