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