I am going to develop an application which will process online data (comming through socket) and it does not need any user interaction.
I am thinking of a simple con
I can't add anything to VonC's list but I would add that if you're using the usual Microsoft tools (VS & .net) it's easy to do both.
I create a class library that contains all my application logic and a MyServer class which has .Start() and .Stop() methods. You can then create both a console app and winservice app that both reference this. E.g. the console App instantiates a new MyServer, calls Start, waits for a key press and calls Stop.
I use the console app during development and the windows service for deployment.