Delphi автоматическое обновление сервера до клиента - PullRequest
1 голос
/ 01 февраля 2012

У меня есть приложение, состоящее примерно из 5 исполняемых программ, которые подключаются к Nexus DB Server.

Автоматическое обновление каждого клиента с нашего веб-сайта может привести к тому, что некоторые клиенты не будут обновлены, и это приведет к проблемам, если обновление изменит схему БД.

Я смотрел на получение обновлений потока DataSnap от этого к клиентам, но это было бы огромным трудом, если я вообще не использую Datasnap для доступа к данным.

Существуют ли какие-либо компоненты библиотеки, чтобы клиенты могли проверять версию моего приложения на сервере и, при необходимости, автоматически обновляться с сервера, а не с нашего веб-сайта?

Таким образом, пользователь будет обновлять сервер с моего веб-сайта, а при повторном подключении клиентов будет запрашиваться или даже принудительно обновляться с помощью файлов сервера.

Ответы [ 2 ]

4 голосов
/ 01 февраля 2012

В аналогичной ситуации я использую таблицу version в базе данных, которая добавляет запись с новым номером версии major.minor и отметку времени при изменении базы данных.

Когда мы меняем базу данных, мы меняем младший номер версии каждого приложения.Когда каждое приложение запускается, оно проверяет, соответствует ли самый высокий номер таблицы version .Если этого не произойдет, пользователю будет предложено обновить приложение (если номер таблицы версия выше) или базу данных (если оно меньше).

4 голосов
/ 01 февраля 2012

TWebupdate от TMS должно работать.

...