Pergunta

Existe alguma API ou ferramenta que possa automatizar a atualização de software? Ele deve cuidar de verificar atualizações de uma URL para uma lista fornecida de arquivos e baixar e substituir os que precisam ser atualizados. Também seria bom se contivesse um módulo de autenticação para que apenas as partes autorizadas pudessem acessar as atualizações. Deve ser agnóstico da linguagem - pega uma lista de arquivos sem conhecimento extra, exceto suas versões e as substitui por cópias recém -baixadas se no site houver versões mais recentes.

Estou especificamente interessado em algo para a plataforma Windows, que seria executado no Win XP para Win 7.

Foi útil?

Outras dicas

Isso me faz pensar sobre apt-get ...

Vi alguns artigos há algum tempo sobre a incorporação de subversão ao seu aplicativo para gerenciar o controle da versão.

Editar:

http://svnbook.red-bean.com/en/1.5/svn.developer.html

A subversão tem um design modular: é implementado como uma coleção de bibliotecas escritas em C. Cada biblioteca possui uma propósito bem definida e interface de programação de aplicativos (API), e essa interface está disponível não apenas para a própria subversão usar, mas para qualquer software que deseja incorporar ou controlar programaticamente a subversão. Além disso, a API da Subversion está disponível não apenas para outros programas C, mas também para programas escritos em idiomas de nível superior, como Python, Perl, Java e Ruby ".

Acabei de ver UpdatEnode Lançando um sistema de atualização e mensagens bem interessantes. Parece ser uma plataforma cruzada e gratuita para código aberto.

ATUALIZAR, fiz algumas análises adicionais sobre isso, publicado em: https://stackoverflow.com/a/22528011/3257300

Para Windows, eu usaria Google Update, também conhecido como Omaha.

Como você não marcou essa pergunta como Windows, eu também mencionaria um UpdateEngine para Mac.

E (o melhor de tudo) apt, que está disponível gratuitamente em todos Debian-Sediada Linux e BSD distribuições, como Ubuntu

Existe um projeto de código aberto WIPT Inspirado pelo Apt of Debian Linux.

Vá até Plataforma de lançamento E use um PPA: é uma plataforma de gerenciamento de repositório Debian/Ubuntu. Claro que isso não é realmente independente da plataforma, mas é em termos de idioma :-)

Você deve dar uma olhada em Clique através, Eu não sei muito sobre isso, mas parece semelhante ao que você está procurando. Quanto à autorização, eu imagino que isso fosse tratado pelo seu servidor da web com base no URL.

InstallShield tem uma oferta. Nunca o usei, mas pesquisou alguns anos atrás, mas decidimos rolar sua própria solução.

Você não declarou para qual plataforma precisava disso. A maneira mais fácil de pensar em fazer isso é com a subversão usando o RSYNC.

O conceito é escrever um gancho pós-compromisso para subversão. Esse script atualizaria uma "pasta de trabalho" na máquina do repositório e, em seguida, usaria o RSYNC para atualizar as diferenças para outra máquina.

A proteção e a autenticação de dados seriam configurados usando o RSYNC sobre o SSH.

Se for para o Windows, você pode tentar fazer o mesmo com as instalações do Cygwin nas duas máquinas.

Boa sorte.

Se você usa .NET, sou um cliente feliz de Applife Update

O CRONW é um serviço de execução programado para o Windows. (Desculpe, não posso vincular, aparentemente estou limitado a 1 como um novo usuário. Ele está hospedado no SourceForge.)

PowerShell é uma linguagem de script do Windows (Microsoft-Official) que permite que você faça a maioria das operações de administração do sistema que você pode querer fazer. É muito fácil de pegar, mesmo que você não tenha trabalhado com isso antes.

Eu diria que sua melhor aposta é escrever um script de atualização simples no PowerShell e, opcionalmente, configurá -lo como um crontask para que você não precise executá -lo manualmente.

IIRC, PowerShell é uma instalação opcional no XP e o CRONW exige que você esteja executando um sistema de 32 bits. Você não disse, então eu acho que você está fazendo 32 bits, mas os ursos alternativos mencionam.

E em tudo isso, estou assumindo que os URLs que você está descrevendo são projetados para esse fim - se não forem e você não os possui, isso rapidamente se tornará mais sofrimento do que você está disposto a suportar. (Fazer um computador navegar em um site legível por humanos geralmente faz.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top