Я работал над установкой обновления для приложения java .jar. У меня есть несколько jar-архивов и main.jar. Моя пусковая установка добавляет/заменяет необходимые банки при обновлении.Как выглядит соответствующий UpdateLauncher для java?
Я просто не уверен, какие критерии нужно ухаживать. Поэтому я расскажу, как работает этот процесс, и вы можете сказать мне, что я что-то забыл.
- нагрузки и сравнить version.xml файл с сервера обновлений FTP
- Составьте список обновленных элементов с помощью обоих version.xml файлов
- Check (чтобы убедиться), если эти файлы, которые по-прежнему действительные действительно существуют на жестком диске (либо добавьте их в список элементов, которые необходимо загрузить ... в любом случае не должно произойти)
- Создайте список файлов, которые необходимо загрузить (эти элементы находятся на сервере в сжатом виде)
- Загрузить все необходимые файлы в папку/temp
- Распакуйте все файлы/TEMP/распаковывать
- Переместить все распакованные файлы в папку/данных (или где они принадлежат)
- Обновление локального version.xml
- Проверьте, все ли файлы соответствовать фактической версии-file- список
Я действительно не уверен, что я что-то забыл? Если некоторые пользователи возились с файлами в/data, мой обновитель узнает об этом и предлагает «ремонт-обновление», где все отсутствующие файлы перезагружаются. Но как насчет пользователей возиться с version.xml? Я должен хранить это зашифрованное. Необходимо ли сохранить загруженный файл version.xml с сервера обновлений открытым, чтобы никто не мог изменять при проверке версии и обновления? Или я слишком переживаю обо всем этом?
Все это работает до сих пор и достаточно ли безопасно, чтобы не создавать беспорядочные установки на ПК пользователей после патча?
Спасибо за ответ. Это не похоже на обновление фона. Это приложение запуска, которое проверяет наличие обновлений при запуске программы, если это необходимо. Я делаю этот проект, чтобы узнать больше о программировании клиент-серверных приложений. И как часть этого, у моего клиента есть updateLauncher. Но я не знаю, как ... «профессионально» мое решение. Где я могу прочитать, как уже существующие решения, такие как равноденствие и другие, выполняют свою работу по обновлению? Я просто хотел бы создать программу обновления с качеством, аналогичным коммерческим продуктам. :) – Ciprian
Я не отличный человек, чтобы спросить об этом. Вы можете подумать о том, чтобы проверить это ядро OSGI на основе Maven: http://karaf.apache.org/. Это немного кривая обучения, но для меня это выглядит современно. – djangofan