Not really sure I understand what you're trying to accomplish. There is very little distinction between a program and a service. They are both technically programs. Services simply run outside the interactive session and can't directly interact with the interactive session and can also run without the interactive session in use (someone logged in). Inter process communication can't be blocked by a firewall since it's not network traffic. There is nothing from preventing say a malicious service from running a local application that in turns communicates out if that program is allowed. As far as the firewall is concerned in your scenario "allow all programs" is satisfied.