Имейте в виду, что если вы планируете в конечном итоге выполнить развертывание в Windows Vista или Windows Server 2008, многие способы сделать это сегодня не будут работать. Это связано с введением новой функции безопасности под названием «Изоляция сеанса 0».
Большинство служб Windows были перемещены для запуска в сеансе 0, чтобы должным образом изолировать их от остальной системы. Расширение этого состоит в том, что первый пользователь, который войдет в систему, больше не помещается в Сессию № 0, он помещается в Сессию 1. И, следовательно, изоляция нарушит код, который выполняет определенные виды связи между службами и настольными приложениями.
На сегодняшний день лучший способ написать код, который будет работать на Vista и Server 2008 в дальнейшем при взаимодействии служб и приложений, - это использовать надлежащий межпроцессный API, такой как RPC, Named Pipes и т. Д. Не используйте SendMessage / PostMessage поскольку это потерпит неудачу при изоляции сеанса 0.
http://www.microsoft.com/whdc/system/vista/services.mspx
Теперь, учитывая ваши требования, вы будете немного рассола. Что касается кроссплатформенных проблем, я не уверен, будет ли поддерживаться Remoting. Возможно, вам придется спуститься вниз и вернуться обратно к сокетам: http://msdn.microsoft.com/en-us/library/system.net.sockets.aspx