I suppose the tray app hosts its WCF service to be able to receive status notifications from the windows service, am I right?
If this is true, could a duplex-enabled binding do the trick for you?
Unfortunately, WCF has no WSDualNamedPipeBinding out of the box but since the name pipe channel is two-way, it should be possible to configure a duplex binding with named pipe transport as a custom binding.
@Steven Cheng: What du you think? Do have an example for a duplex-enabled custom binding that uses a named pipe transport?