Boost::Asio — это круто, если хотите собственными руками повторить протокол.
Если нужно в кратчайшие сроки скачать всё, что надо, и заняться более важной задачей, лучше cURL.
Поскольку способ связи клиента со службой не специфицирован — это может быть и сеть, и межпроцессная коммуникация — то надо смотреть в каждом случае по отдельности. Подкинуть файл в стандартное место, не зависящее от пользователя? Передать информацию через канал или TCP?