Форум: "Основная";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизКак обновить программу? Найти похожие ветки
← →
SANEK_10289 © (2005-12-22 21:50) [0]Здравствуйте, подскажите пожалуйста,
как во время выполнения приложения проверить есть ли более новая версия на другом компьютере в локальной сети, и если есть то обновить. Незнаю как обновить программу, насколько мне известно выполняющееся приложение не даст же себя удалить... Подскажите пожалуйста, каким способом можно решить данную проблему?
← →
DrPass © (2005-12-22 21:51) [1]
> насколько мне известно выполняющееся приложение не даст
> же себя удалить...
Не даст. Но можно переименовать, скопировать новый файл, запустить его, закрыть себя, а он удалит старый.
← →
SANEK_10289 © (2005-12-22 22:02) [2]А как тогда сравнить версии файлов?
Ведь наверное если размеры разные то необязательно, что версия файла новее.
В свойствах проекта, по моему на вкладке Compile можно менять свойство Build. Можно ли как-то по нему сравнивать версии файлов?
← →
DrPass © (2005-12-22 22:56) [3]На вкладке Version Info. По ней и сравнивай. Есть специальные функции - GetFileVersionInfoSize, GetFileVersionInfo, VerQueryValue
← →
AnSi_Sr (2005-12-23 13:51) [4]Стандартное решение данной проблемы - проверка обновления при запуске.
По крайней мере, я его видел.
Как было указано выше (или используя TJCLFileInfo - из JEDI Code Library) получаем версию запущенной программы. Затем смотрим инишник или реестр (как захотите, у нас в папочке программы инишник хранится), находим путь до того места, где лежит обновление. Там смотрим версию обновления - тоже как хотите, у нас для этой цели тоже ini-файл используется. Если версия более новая, запускаем обновление через CreateProcess, потом завершаем работу программы.
Сейчас политика администрирования такова, что пользователи не имеют админских привелегий, поэтому от использования автообновления пришлось отказаться.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c