Фон:
У меня есть основное приложение, которое должно быть в состоянии пойти в Интернет и загрузить связанные с ним DLL файлы (те, которые мы пишем, расположенные на нашем сервере). Это действительно необходимо, чтобы загрузить эти файлы DLL в папку приложения в "C:\Program Files". Раньше я использовал System.Net.WebClient
для загрузки любых файлов, которые я хотел получить в Интернете.
Проблема
У меня было много проблем с загрузкой данных в прошлом и сохранением файлов на жестком диске пользователя. Я получаю много сообщений о том, что пользователи не работают, и обычно это связано с проблемами прав пользователя в программе.
В тех случаях, когда это была проблема с правами пользователя программы, каждый пользователь мог перейти в точное местоположение файла в Интернете, загрузить его, а затем сохранить его в нужном месте вручную.
Я хочу, чтобы это работало, как и все другие программы, которые я видел для загрузки/установки в этом fassion (т.е. Firefox Pluign Updates, Flash Player, JAVA, Adobe Reader и т.д.). Все они работают без заминок.
Вопрос
Есть ли какой-то код, который мне нужно использовать, чтобы предоставить моим программам программы загрузки специальные права на папку Program Files? Могу ли я это сделать? Есть ли лучший класс или библиотека, которую я должен использовать? Есть ли другой подход к загрузке файлов, которые я должен использовать, например, используя потоки или что-то еще для загрузки данных?
Любая помощь здесь ценится. Я хочу попытаться держаться подальше от сторонних приложений/библиотек, если это вообще возможно, кроме Microsoft, конечно, из-за проблем с лицензированием, но все равно отправляйте любые предложения по-моему.
Опять же, другие программы, похоже, имеют проблемы с правами и возможность загрузки. Я хочу эту же возможность.