Для приложений одного или узкого назначения , запускаемых по расписанию, запуск консольного приложения через планировщик заданий почти всегда является правильным проектом.
Для длительных или сложных задач , для которых может потребоваться взаимодействие, такое как запуск вручную, остановка, приостановка, продолжение и т. Д., Тогда, как правило, лучше использовать службу Windows.
Запланированные задачи можно запускать под любой учетной записью, и пользователю не требуется входить в систему, как в службах. Для одноцелевых задач, таких как те, которые вы предлагаете, внешнее управление задачей обычно не имеет значения, поэтому вам не нужна управляемость Сервиса.
Важным фактором также является планировщик заданий - очень надежный и гибкий планировщик событий. Крайне маловероятно, что вы могли бы написать планировщик, который был бы более надежным и мог обрабатывать капризы времени и планировать на основе триггеров. На самом деле существует ряд вопросов об использовании таймеров для планирования задач в службах на этом сайте, и примечательно, что количество ответов (включая некоторые из «правильных» ответов), которые имеют низкое качество или совершенно неверные.
РЕДАКТИРОВАТЬ: Интересно также отметить, что политика Microsoft отходит от использования служб для действий на основе задач. Если вы проверите Vista, Win2K8 и Win7, вы увидите растущий список запланированных задач специального назначения, которые выполняют обслуживание системы и многие системные службы.