Сервис всегда работает - т.е. тратит чуть-чуть процессора и достаточно оперативной памяти. Если задача запускается раз в час и отрабатывает за минуту, то windows сервис явно излишен. Консольное приложение запускаемое по расписанию - самое то. График устанавливается через графический интерфейс Windows Scheduler, либо в случае очень нестандартного алгоритма запуска встраиванием
Quartz.Net .Уведомление удобнее всего сделать в самой программе через
NLog или что-то подобное. Функцию main обернуть в try/catch и в catch отправлять письмо опять же через NLog администратору об ошибке выполнения задачи.
Консольное приложение проще обновлять через FTP. Windows-сервис необходимо вначале остановить (что требует захода на сервер через удаленный рабочий стол), затем перезалить .exe, затем снова запустить сервис. Вероятнее всего, существуют средства автоматизации, но не в стандартной поставке Windows Server.
Также запуск через планировщик гарантирует на 100%, что приложение продолжит запускаться после перезагрузки сервера. С windows-сервисами были ситуации, когда сервис не стартовал, хотя в настройках был указан автозапуск.