I don't have an example in vb.net but if you don't mind reviewing an easy to read C# service then check this one out.

What I do is OnStart get the mode e.g. Interval or Daily from App.config in a separate method call within another class. From here a Timer is setup with a delegate setup with the time for execution. Once the intended code finishes executing the service disposes of the Timer then sets it back up again in a continuous cycle. In any event, not sure if this is helpful or not to you.

Lastly, in the link above I have a GUI for starting/stopping and pausing the service which allows for debugging too.