Как я могу обновить приложение по сети в .NET? - PullRequest
4 голосов
/ 29 сентября 2008

Мне нужно установить программное обеспечение .NET на несколько компьютеров.

Это программное обеспечение необходимо проверять каждый раз при перезапуске, чтобы увидеть, существует ли на сервере более новая версия.

Конечные пользователи будут обладать базовыми правами пользователя и поэтому не смогут копировать файлы в каталог «Program Files».

Если существует более новая версия, приложение закрывается, программа обновления копирует файл с сервера, а затем перезапускает приложение.

Однако я хотел построить свой апдейтер, чтобы он не зависел от приложения. То есть Я бы отправил идентификатор в программу обновления, чтобы сообщить ему, какое приложение обновлять.

Тогда я хотел, чтобы он все еще работал, если имя файлового сервера было изменено.

Я думаю, что могу сделать все это, используя службу с правами администратора для копирования файлов.

  1. Есть ли класс, который уже занимается такими вещами?
  2. Я на правильном пути, когда думаю об использовании установленного сервиса?

Ответы [ 4 ]

7 голосов
/ 29 сентября 2008

.NET Framework имеет встроенную функцию clickonce , которая делает именно то, что вы хотите.

2 голосов
/ 29 сентября 2008

Посмотрите на ClickOnce развертывание. Он охватывает почти все, что вы просили. Он не выполняет обновление приложения по идентификатору, но он гарантирует, что каждое приложение обновляется до даты, без необходимости писать код обновления для каждого приложения. И он не будет автоматически обрабатывать изменения имени файлового сервера, но вы можете указывать ссылки по мере необходимости.

1 голос
/ 29 сентября 2008

Блок обновления приложений работает для меня.

0 голосов
/ 29 сентября 2008

1) Зависит от используемой версии .NET. > = 2.0 Вы можете развернуть интеллектуальные приложения, которые могут проверять сетевой путь на наличие обновленной версии, затем она будет обновляться при необходимости.

2) Если вы застряли на 1.1 (как я :-(), либо служба, либо запланированная задача, которая запускается при входе в систему, будет работать нормально, вот что мы делаем здесь. У нас есть несколько таблиц БД, которые отслеживают у кого самая последняя версия чего.

-ian

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...