По уму я бы сделал так, ПО всё таки располагал бы локально, и нагрузка на сеть меньше и защита от дурака, если что то сотрет у себя ничего страшного не произойдет...
Обновление на о локале то же не проблема, по принципу онлайн игр, т.е. есть лаунчер который и запускает саму прогу, при запуске лаунчера он проверяет есть ли новая версия на сервере и если есть то обновляет свою локальную копию, а дальше запускает её ...