Here is what you need to complete your solution; you can accomplish this entire task much easier using a Windows Service as recommended prior. However, I do not recommend that you use any type of Timer regardless the type (System.Timers.Timer, System.Threading.Timer, etc,) to execute the process on an interval due to thread issues that could arise.
I have implemented a Windows Service within the last few months that does exactly what you are doing; run a periodic process on a set time interval. A better method IMO is to use a 'RegisterWaitForSingleObject' method from the System.Threading namespace.
As defined in the MSDN: "Registers a delegate to wait for a WaitHandle, specifying a 32-bit signed integer for the time-out in milliseconds."
This method is well laid out in the following Blog entry by Mebyon Kernow:
http://blogs.msdn.com/morgan/archive/2008/12/18/periodic-execution-in-net.aspx
Here is the MSDN Documentation:
http://msdn.microsoft.com/en-us/library/w9f75h7a.aspx
...and lastly, you might be saying "I don't know how to create and use a Windows Service in .NET!". Well to get you going on that (there are quite easy by the way to get up and running), check out the following site:
Walkthrough: Creating a Windows Service Application in the Component Designer:
http://msdn.microsoft.com/en-us/library/zt39148a.aspx
That should be everything you need, hope this helps! 