I currently have a windows application which is automated and runs daily.
the purpose is to access a webservice to download a dataset, inserting into sql 2005 database.
Is a windows service application suitable in this situation, would it be more flexible, and would it perform better.
You can definitely have it as a service, but I don’t think you are going to get any benefit from it. Since a service is always running, they are normally used for applications which have to run, because they are constantly checking for a condition (waiting for remoting, checking every n minutes for information in a database etc.).
Since yours runs once a day, you aren’t going to have any advantage if you change it over. If your automated task is setup correctly, it should run if the machine is on, just like a service. The advantage to having a windows app (console specifically) over a service is that if something fails, you can just start the app again and run it. This won’t be so easy with a service, because extra code will have to be in the program to make sure that it only runs so many times (in your case once) a day. You probably won’t be able to have it execute your process on start up, because you have to take into account the server being restarted. This means that if your server goes down when the process is supposed to run, you are going to have to know how to “trick” the program into thinking that it should run the process for that time only. Window’s apps don’t suffer from this, because they terminate after the process has completed, so there’s probably no additional code to prevent it from running the process again.