Есть к примеру ftp сервер от куда я скачаю новый exe файл. В этой части проблем нет. Далее программа должна как-то себя закрыть и заменить саму себя на более новую версию. Как такое сделать?
Полагаю надо сделать отдельную программу установщик. Как ее запустить программно?
Как сделать самообновление программы?
-
- junior
- Сообщения: 56
- Зарегистрирован: 24 июл 2012, 11:09
- Версия LabVIEW: 2011, 202x
- Контактная информация:
Re: Как сделать самообновление программы?
В одной программе можно сделать. Через CMD.
Прога мониторит ftp ресурс. Качает его, если есть более новое, во временную директорию. Далее, предлагает закрыть пользователю или сама переходит на этап закрытия. Перед закрытием, запускается cmd, которая подменит файлы, после освобождения ресурса (получения доступа на перезапись exe).
При этом, нужно чтоб CMD из exe (vi) вызывалась без ожидания завершения операции.
Прога мониторит ftp ресурс. Качает его, если есть более новое, во временную директорию. Далее, предлагает закрыть пользователю или сама переходит на этап закрытия. Перед закрытием, запускается cmd, которая подменит файлы, после освобождения ресурса (получения доступа на перезапись exe).
При этом, нужно чтоб CMD из exe (vi) вызывалась без ожидания завершения операции.
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Как сделать самообновление программы?
Все эти действия вешаются на кнопку/пункт меню "обновить". После нажатия запускаете .bat-файл, в котором должен быть прописан сценарий: закрыть, удалить, скачать, запустить - это всё доступно с помощью скриптов. Сам файл с сценарием храните где удобно, запускайте его через exec.vi.
Проверку на актуальность обновления обычно делают через расчет CRC файла. Если CRC совпадает с текущим - значит обновления не требуется. Если не совпадает - предлагаем пользователю обновиться.
Проверку на актуальность обновления обычно делают через расчет CRC файла. Если CRC совпадает с текущим - значит обновления не требуется. Если не совпадает - предлагаем пользователю обновиться.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение