Автообновление выполняемого модуля (постановка)
Материал из GedeminWiki
(Различия между версиями)
Flake (обсуждение | вклад) |
Flake (обсуждение | вклад) |
||
| Строка 13: | Строка 13: | ||
# При передаче клиенту, пересылать контрольные суммы архива и каждого файла по отдельности | # При передаче клиенту, пересылать контрольные суммы архива и каждого файла по отдельности | ||
# По умолчанию использовать настройки подключения к Интернету как в IE, но оставить возможность вручную указать прокси. | # По умолчанию использовать настройки подключения к Интернету как в IE, но оставить возможность вручную указать прокси. | ||
| − | + | # На клиенте добавляем таблицу AT_DATABASE с полем UUID (или аналогичный генератор). UUID генерируется после внесения данных о клиенте, при первой попытке обновления, на основании УНН и ИД базы. Потом UUID используется для идентификации базы на сервере обновлений. | |
| + | # На сервере проверяется, есть ли такой UUID в таблице "Базы данных". Если нет, проверяем, есть ли клиент с таким УНН. Если нет, добавляем. Добавляем базу. | ||
Отложенная замена файла: [http://msdn.microsoft.com/en-us/library/aa365240%28VS.85%29.aspx MoveFileEx Function] | Отложенная замена файла: [http://msdn.microsoft.com/en-us/library/aa365240%28VS.85%29.aspx MoveFileEx Function] | ||
[[Category:Постановка]] | [[Category:Постановка]] | ||
Версия 17:02, 22 мая 2009
Тут будет постановка, а пока несколько замечаний:
- Старый экзешник надо сохранять и у пользователя должна быть возможность вернуться к старому экзешнику. Возможно, стоит сохранять все старые экзешники.
- В локальной БД пользователя должен вестись полный лог обмена с сервером: когда была попытка подключиться, какой результат (ошибка (какая?), успех, не требует обновления, обновлено успешно и т.п.).
- Таргетирование распространения нового экзешника должно вестись следующим образом: сначала проверяется, входит ли наш клиент в указанную группу. Если да, то проверяется не входит ли он в группу, обновлять экзешники которым автоматически категорически нельзя.
- Группы:
- Все
- Группа с именем (например НИВА-СХП)
- Клиент с конкретным ИД
- Конкретная версия экзешника
- Пока мы говорим только о gedemin.exe. Может стоит подумать о любом файле из установки Гедымина?
- Пересылаемые файлы и заменяемые экзешники должны архивироваться
- При передаче клиенту, пересылать контрольные суммы архива и каждого файла по отдельности
- По умолчанию использовать настройки подключения к Интернету как в IE, но оставить возможность вручную указать прокси.
- На клиенте добавляем таблицу AT_DATABASE с полем UUID (или аналогичный генератор). UUID генерируется после внесения данных о клиенте, при первой попытке обновления, на основании УНН и ИД базы. Потом UUID используется для идентификации базы на сервере обновлений.
- На сервере проверяется, есть ли такой UUID в таблице "Базы данных". Если нет, проверяем, есть ли клиент с таким УНН. Если нет, добавляем. Добавляем базу.
Отложенная замена файла: MoveFileEx Function