Как сделать простой клиент для автоматического обновления (услуга Windows)? Примечание. Я использую клиент .NET 2.0 и веб-сервер IIS .NET 4.0.Как сделать простой клиент для автоматического обновления (служба Windows)?
Я думал, что у меня будет основной запуск .exe (шаг 1 и 1.5) и отдельный класс (DLL), который будет вызываться после процесса обновления для остальной части работы, чтобы «рабочая» DLL могла быть перезаписана в процедуре обновления.
Это лучший способ сделать клиента с автоматическим обновлением? Все шаги, приведенные ниже, запускаются с каждым интервалом таймера и при запуске/запуске Windows.
- Закрыть затем открыть веб-службы подключения 1,5 Автоматическое обновление клиента, если версия веб-сервис новее в сделке (скачать заархивированы двоичный файл, чтобы обновить папку программы клиента -. Обычно это просто «работник» DLL-файл)
- Войти на веб-метод, чтобы получить SecurityToken использовать для будущего метода веб вызывает
- Загрузить местный MessageLog (в идеале до и после всех процессов)
- Получить настройки клиента
- ли основные рабочие процессы (класс рабочий)
- Загрузить Local MessageLog
- Выход веб-соединения метод
- Закрыть веб-сервис
Другие Примечания:
а. Клиент обновляется только в том случае, если в этой установке установлен параметр веб-сервера, позволяющий получать обновления, а их версия приложения нуждается в обновлении (сравните версию #).
b. Все по SSL.
c. Я буду защищать весь веб-сервис в дополнение к требованию токена безопасности для каждого веб-метода (токен безопасности истекает через 60 минут или меньше).
d. Конфигурационный файл клиента сильно зашифрован (авторизация входа в веб-службу и для конкретной установки)
e. Я, вероятно, должен загрузить сумму MD5 бинарного файла обновления приложения, чтобы убедиться, что у меня есть правильный файл для установки. Поддерживает ли .NET MD5 стандартным образом для Windows и в среде Mono для Mac?
f. Эта пользовательская программа недоступна в Интернете, но только для некоторых клиентов.
Почему, по вашему мнению, это должно быть служба Windows? –
@ Коды. Моя клиентская программа - это служба Windows - это единственная причина. Я также буду использовать его в Windows Form для тестирования. – user610064