2011-12-20 1 views
0

Как сделать простой клиент для автоматического обновления (услуга Windows)? Примечание. Я использую клиент .NET 2.0 и веб-сервер IIS .NET 4.0.Как сделать простой клиент для автоматического обновления (служба Windows)?

Я думал, что у меня будет основной запуск .exe (шаг 1 и 1.5) и отдельный класс (DLL), который будет вызываться после процесса обновления для остальной части работы, чтобы «рабочая» DLL могла быть перезаписана в процедуре обновления.

Это лучший способ сделать клиента с автоматическим обновлением? Все шаги, приведенные ниже, запускаются с каждым интервалом таймера и при запуске/запуске Windows.

  1. Закрыть затем открыть веб-службы подключения 1,5 Автоматическое обновление клиента, если версия веб-сервис новее в сделке (скачать заархивированы двоичный файл, чтобы обновить папку программы клиента -. Обычно это просто «работник» DLL-файл)
  2. Войти на веб-метод, чтобы получить SecurityToken использовать для будущего метода веб вызывает
  3. Загрузить местный MessageLog (в идеале до и после всех процессов)
  4. Получить настройки клиента
  5. ли основные рабочие процессы (класс рабочий)
  6. Загрузить Local MessageLog
  7. Выход веб-соединения метод
  8. Закрыть веб-сервис

Другие Примечания:

а. Клиент обновляется только в том случае, если в этой установке установлен параметр веб-сервера, позволяющий получать обновления, а их версия приложения нуждается в обновлении (сравните версию #).

b. Все по SSL.

c. Я буду защищать весь веб-сервис в дополнение к требованию токена безопасности для каждого веб-метода (токен безопасности истекает через 60 минут или меньше).

d. Конфигурационный файл клиента сильно зашифрован (авторизация входа в веб-службу и для конкретной установки)

e. Я, вероятно, должен загрузить сумму MD5 бинарного файла обновления приложения, чтобы убедиться, что у меня есть правильный файл для установки. Поддерживает ли .NET MD5 стандартным образом для Windows и в среде Mono для Mac?

f. Эта пользовательская программа недоступна в Интернете, но только для некоторых клиентов.

+0

Почему, по вашему мнению, это должно быть служба Windows? –

+0

@ Коды. Моя клиентская программа - это служба Windows - это единственная причина. Я также буду использовать его в Windows Form для тестирования. – user610064

ответ

2

Есть ли проблема с использованием ClickOnce? Он встроен в .NET Framework и может быть настроен из Visual Studio.

+0

Я не знал, что он был встроен в VS 2010. Легко ли использовать его в моей ситуации или это больше беспокоит? – user610064

+1

Я не знал, что ClickOnce был встроен в VS 2010. Легко ли использовать в моей ситуации? Проблемы с ClickOnce всего за 20 минут поиска ... 1 Скорее настройте мою базу данных, затем IIS. 2 IIS может блокировать загрузку некоторых моих файлов, если я не настроил IIS. 3 Хотите избежать подписания. Каждый раз, когда вы обновляете манифест, вы должны подписать. 4 Установки ClickOnce работают только с IE. 5 Проблемы с Mapped Drive. НО Для меня двоичный файл будет заархивирован и не будет использовать веб-браузер. http://msdn.microsoft.com/en-us/library/ms228998.aspx http://msdn.microsoft.com/en-us/library/ms228996.aspx – user610064

+0

Также 50% моих клиентов находятся на Mac так будет ли он обновлять Mac-пакет (используя MonoObj)? – user610064

 Смежные вопросы

  • Нет связанных вопросов^_^