Is there an API or tool that can automate software updating?

2.2k views Asked by At

Is there any API or tool that can automate software updating? It should take care of checking for updates from a URL for a provided list of files and downloading and replacing the ones that need updating. It would also be nice if it contained an authentication module so that only authorized parties could access the updates. It should be language-agnostic - takes a list of files without extra knowledge except their versions and replaces them with newly downloaded copies if on the site there are newer versions.

I'm specifically interested in something for the Windows platform, that would run on Win Xp to Win 7.

12

There are 12 answers

1
Zoran Regvart On BEST ANSWER
0
Didier Trosset On

This makes me think about apt-get ...

0
Karl On

I did see some articles a while back about embedding subversion into your application to manage version control.

Edit:

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

Subversion has a modular design: it's implemented as a collection of libraries written in C. Each library has a well-defined purpose and application programming interface (API), and that interface is available not only for Subversion itself to use, but for any software that wishes to embed or otherwise programmatically control Subversion. Additionally, Subversion's API is available not only to other C programs, but also to programs written in higher-level languages such as Python, Perl, Java, and Ruby."

0
jldupont On

Head over to Launchpad and use a PPA: it is a Debian/Ubuntu repository management platform. Of course this is not really platform independent but it is language wise :-)

1
Arkaaito On

CRONw is a scheduled execution service for Windows. (Sorry, I can't link it, I'm apparently limited to 1 as a new user. It's hosted on Sourceforge.)

Powershell is a Windows scripting language (Microsoft-official) that allows you to do most system administration operations you could conceivably want to do. It is very easy to pick up even if you haven't worked with it before.

I would say your best bet is to write a simple update script in Powershell and, optionally, set it up as a crontask so you don't have to manually execute it.

IIRC, Powershell is an optional install on XP, and CRONw requires you be running a 32-bit system. You didn't say, so I'd guess you're doing 32-bit, but the alternative bears mentioning.

And in all this, I'm assuming that the URLs you're describing are designed for this purpose - if they're not and you don't own them, it will rapidly become more suffering than you're willing to bear. (Making a computer navigate a human-readable website usually does.)

2
erikkallen On

If you use .NET, I'm a happy customer of AppLife Update

0
wdh On

You didn't state what platform you needed this for. The easiest way I can think of doing this is with subversion using rsync.

The concept is to write a post-commit hook for subversion. This script would update a "working folder" on the repository machine and then use rsync to update the differences to another machine.

Data protection and authentication would be set up using rsync over ssh.

If this is for windows, you could try doing the same with cygwin installs on the two machines.

Good luck.

0
Sayed Ibrahim Hashimi On

You should take a look at ClickThrough, I don't know much about it but it sounds similar to what you're looking for. As for authorization, I would imagine this to be handled by your webserver based on the URL.

0
dkackman On

InstallShield has an offering. Never used it but researched it a few years back but we decided on a roll your own solution.

0
Taneli Waltari On

There is open source project WIPT inspired by APT of Debian Linux.

0
Davide On

For windows, I'd use Google Update, also known as omaha.

Since you didn't tag this question as windows, I'd also mention a UpdateEngine for Mac.

And (best of all) apt, which is available for free on all Debian-based Linux and BSD distributions, like Ubuntu

0
inspector On

Just saw UpdateNode launching a pretty cool update and messaging system. It seems to be cross platform and free for Open Source.

UPDATE, did some further analysis on that, posted at: https://stackoverflow.com/a/22528011/3257300