In WinXP services ran with session ID 0 (console) and therefor you could see the icons in the system tray (i.e. a service that starts an executable).
This was/is a security hole that is closed in Vista/Win2008.
All services in Vista runs with session ID 0, but this ID is not anymore the ID for console. When a user logs in he will get a ID > 1. The second user will get ID 2 and so on. ID 0 is reserved to the system. Therfor when you start up your Vista all services starts in session ID 0 and the user get session ID 1. All executable that has ID 0 will not be visible to your consol (in this case ID 1)
SystemTray and TrayIcon from AWT will only work in Vista if you got a "client program" that can be used towards the subsonic service. This client program must be started from the users startup or registry. Then you will be able to get the tray icon working.
I'm sure Sindre got more knowledge then me if there are any tricks to use with Java AWT regarding Vista
