В .NET создать службу очень просто. Создать проект WindowsService. В результате сгенерируется проект, содержащий 2 класса: Service и ServiceInstaller. Первый класс реализует функционал службы, второй отвечает за её регистрацию в системе и удаление.
Пример класса ServiceInstaller (из одного моего проекта)
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
using System.ServiceProcess;
namespace MyNamespace
{
    /// <summary>
    /// Summary description for NotificationServiceInstaller.
    /// </summary>
    [RunInstaller(true)]
    public class MyServiceInstaller : System.Configuration.Install.Installer
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;
        public ServiceInstaller si;
        public ServiceProcessInstaller spi;
        public MyServiceInstaller()
        {
            // This call is required by the Designer.
            InitializeComponent();
            // TODO: Add any initialization after the InitComponent call
            si = new ServiceInstaller();
            spi = new ServiceProcessInstaller();
            spi.Account = ServiceAccount.LocalSystem;
            spi.Username = null;
            spi.Password = null;
            si.DisplayName = "Это имя увидишь в списке служб";
            si.ServiceName = "MyService";
            si.StartType = ServiceStartMode.Manual;
            Installers.Add(si);
            Installers.Add(spi);
        }
        #region Component Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			components = new System.ComponentModel.Container();
		}
		#endregion
		
	} // class NotificationServiceInstaller
} // namespace Amcor.ErrandsControl.NS
В конструкторе описываются: учётная запись для запуска службы, названия и режим запуска (ручной, автоматический, отключено). Этого достаточно.
Класс самого сервиса тоже прост. Наследуется от System.ServiceProcess.ServiceBase. Там пиши всё что хочешь (то, чего должна делать служба). У базового класса есть ряд методов, которые нужно переопределить.
protected override void OnStart(string[] args)
protected override void OnPause()
protected override void OnContinue()
protected override void OnStop()
Которые вызываются при запуске, остановке, возобновлении и выключении службы.
Вообще, wizard сам создаст все нужные методы.
Для решения твоей задачи нужно в классе поставить таймер и написать обработчик таймера, где бы вызывалась твой exe.
Конфигурация для .NET служб стандартна для .NET - хранится в XML-файле с расширением config, лежащем там же, где и полученная dll службы. В нём ты можешь хранить путь к своему exe, а можешь вообще ничего не хранить.
Для регистрации/удаления сервиса в системе в .NET Framework можно воспользоваться утилитой InstallUtil.exe.