Есть ли API или инструмент, который может автоматизировать обновление программного обеспечения?
Есть ли API или инструмент, который может автоматизировать обновление программного обеспечения? Следует позаботиться о проверке обновлений с URL-адреса для предоставленного списка файлов и загрузке и замене тех, которые требуют обновления. Также было бы хорошо, если бы он содержал модуль аутентификации, чтобы только авторизованные стороны могли получить доступ к обновлениям. Он должен быть независимым от языка - берет список файлов без дополнительных знаний, кроме их версий, и заменяет их вновь загруженными копиями, если на сайте есть более новые версии.
Меня особенно интересует кое-что для платформы Windows, которое будет работать на Win Xp до Win 7.
12 ответов
Посмотрите также здесь: есть ли среда автообновления для C++/Win32/MFC (например, Sparkle)?
Только что увидел UpdateNode запускает довольно крутой системы обновления и обмена сообщениями. Похоже, что он кроссплатформенный и бесплатный для Open Source.
ОБНОВЛЕНИЕ, сделал некоторый дальнейший анализ на этом, отправленный в: /questions/14575796/kak-ya-mogu-vklyuchit-avtoobnovleniya-v-krossplatformennom-prilozhenii-qt/14575810#14575810
Некоторое время назад я видел некоторые статьи о внедрении Subversion в ваше приложение для управления контролем версий.
Редактировать:
http://svnbook.red-bean.com/en/1.5/svn.developer.html
Subversion имеет модульную конструкцию: он реализован в виде набора библиотек, написанных на C. Каждая библиотека имеет четко определенную цель и интерфейс прикладного программирования (API), и этот интерфейс доступен не только для использования самой Subversion, но и для любого программного обеспечения. который хочет внедрить или иным образом программно контролировать Subversion. Кроме того, API Subversion доступен не только для других программ на C, но и для программ, написанных на языках более высокого уровня, таких как Python, Perl, Java и Ruby."
Для окон я бы использовал Google Update, также известный как омаха.
Поскольку вы не пометили этот вопрос как Windows, я бы также упомянул UpdateEngine для Mac.
И (лучше всего) apt, который доступен бесплатно во всех дистрибутивах Linux и BSD на основе Debian, таких как Ubuntu
Существует проект с открытым исходным кодом WIPT, вдохновленный APT Debian Linux.
Вы не указали, для какой платформы вам это нужно. Самый простой способ сделать это - использовать subversion с использованием rsync.
Идея состоит в том, чтобы написать хук после фиксации для Subversion. Этот сценарий обновляет "рабочую папку" на компьютере хранилища, а затем использует rsync для обновления различий на другом компьютере.
Защита данных и аутентификация будут установлены с помощью rsync через ssh.
Если это для Windows, вы можете попробовать сделать то же самое с установками Cygwin на двух компьютерах.
Удачи.
Вы должны взглянуть на ClickThrough, я не знаю много об этом, но это звучит похоже на то, что вы ищете. Что касается авторизации, я бы предположил, что это будет обрабатываться вашим веб-сервером на основе URL.
InstallShield имеет предложение. Никогда не использовал его, но исследовал его несколько лет назад, но мы решили найти собственное решение.
Если вы используете.NET, я счастливый клиент обновления AppLife
CRONw - это служба выполнения по расписанию для Windows. (Извините, я не могу связать это, я очевидно ограничен 1 как новый пользователь. Он размещен на Sourceforge.)
Powershell - это язык сценариев Windows (официальный Microsoft), который позволяет вам выполнять большинство операций системного администрирования, которые вы, возможно, захотите выполнить. Это очень легко подобрать, даже если вы не работали с ним раньше.
Я бы сказал, что вам лучше всего написать простой скрипт обновления в Powershell и, при желании, установить его в качестве crontask, чтобы вам не приходилось выполнять его вручную.
IIRC, Powershell - это дополнительная установка на XP, а для CRONw требуется 32-разрядная система. Вы не сказали, поэтому я предполагаю, что вы делаете 32-битную версию, но альтернатива заслуживает упоминания.
И во всем этом, я предполагаю, что URL-адреса, которые вы описываете, предназначены для этой цели - если это не так, и вы им не владеете, это быстро станет более мучительным, чем вы готовы вынести. (Заставить компьютер перемещаться по понятному человеку сайту обычно).