Есть ли API или инструмент, который может автоматизировать обновление программного обеспечения?

Есть ли API или инструмент, который может автоматизировать обновление программного обеспечения? Следует позаботиться о проверке обновлений с URL-адреса для предоставленного списка файлов и загрузке и замене тех, которые требуют обновления. Также было бы хорошо, если бы он содержал модуль аутентификации, чтобы только авторизованные стороны могли получить доступ к обновлениям. Он должен быть независимым от языка - берет список файлов без дополнительных знаний, кроме их версий, и заменяет их вновь загруженными копиями, если на сайте есть более новые версии.

Меня особенно интересует кое-что для платформы Windows, которое будет работать на Win Xp до Win 7.

12 ответов

Решение

Это заставляет меня думать о apt-get...

Только что увидел 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-адреса, которые вы описываете, предназначены для этой цели - если это не так, и вы им не владеете, это быстро станет более мучительным, чем вы готовы вынести. (Заставить компьютер перемещаться по понятному человеку сайту обычно).

Перейдите на Launchpad и используйте PPA: это платформа управления репозиторием Debian/Ubuntu. Конечно, это не совсем зависит от платформы, но это зависит от языка:-)

Другие вопросы по тегам