Initially, there are two solutions:
Easy: Set up the windows scheduler to execute the program and the desired schedule.
Hard: Make the program and windows service with timer functionality to fire off the desired logic at the configured time.
I don't put a lot of faith in the windows scheduler. I've had it crap out on me on a number of occasions.
Alternative solution to save you from writing your own windows service:
I have worked a lot with continuous integration using an open source .NET application called CruiseControl.NET (http://ccnet.thoughtworks.com/
). I have actually used it as a replacement for the windows scheduler because it always works plus it has a web interface for monitoring and controlling tasks as well as very good logging and task control.