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