Либо я не получаю общую картину, либо это потому, что я работаю в среде asp.net ...
В любом случае, я сделал что-то вроде того, что вы просили о наших продуктах (веб-приложениях), и это было совсем не просто задача.
Вот как я это сделал:
1 - Создайте приложение для бэк-офиса для выпуска новых версий продукта.
2 - Создайте веб-сервис, который получил данный продукт и версию, проверил, было ли доступно обновление, если это так, отправьте его клиенту.
3 - На клиенте при получении обновления установил его.
Полагаю, процесс обновления будет проще выполнять в приложении для Windows, мой единственный совет - быть предельно осторожным при этом. Всегда делайте безопасную копию своего приложения, поэтому, если что-то пойдет не так, вы можете вернуться к предыдущей версии.