Службы Windows должны работать в фоновом режиме, по умолчанию. Ожидается, что они вернут управление диспетчеру сервисов сразу после запуска, поэтому обычно вы запускаете поток для выполнения ваших сервисных задач.
При этом класс System.Threading.Timer должен хорошо работать для запуска таймера, который запускается через регулярный интервал.
Что касается установки, вам следует использовать Installutil.exe - это стандартный способ установки службы Windows.
Я рекомендую взглянуть на эту статью о проекте кода. У нее есть хороший, чистый шаблон, который вы можете использовать. Кроме того, есть пример пакетного файла, упрощающий использование Installutil, который может сделать его «приятнее».