Автообновление выполняемого модуля (постановка)

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
Строка 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

Тут будет постановка, а пока несколько замечаний:

  1. Старый экзешник надо сохранять и у пользователя должна быть возможность вернуться к старому экзешнику. Возможно, стоит сохранять все старые экзешники.
  2. В локальной БД пользователя должен вестись полный лог обмена с сервером: когда была попытка подключиться, какой результат (ошибка (какая?), успех, не требует обновления, обновлено успешно и т.п.).
  3. Таргетирование распространения нового экзешника должно вестись следующим образом: сначала проверяется, входит ли наш клиент в указанную группу. Если да, то проверяется не входит ли он в группу, обновлять экзешники которым автоматически категорически нельзя.
  4. Группы:
    1. Все
    2. Группа с именем (например НИВА-СХП)
    3. Клиент с конкретным ИД
    4. Конкретная версия экзешника
  5. Пока мы говорим только о gedemin.exe. Может стоит подумать о любом файле из установки Гедымина?
  6. Пересылаемые файлы и заменяемые экзешники должны архивироваться
  7. При передаче клиенту, пересылать контрольные суммы архива и каждого файла по отдельности
  8. По умолчанию использовать настройки подключения к Интернету как в IE, но оставить возможность вручную указать прокси.
  9. На клиенте добавляем таблицу AT_DATABASE с полем UUID (или аналогичный генератор). UUID генерируется после внесения данных о клиенте, при первой попытке обновления, на основании УНН и ИД базы. Потом UUID используется для идентификации базы на сервере обновлений.
  10. На сервере проверяется, есть ли такой UUID в таблице "Базы данных". Если нет, проверяем, есть ли клиент с таким УНН. Если нет, добавляем. Добавляем базу.

Отложенная замена файла: MoveFileEx Function

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты