ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

DonationCoder.com Software > Post New Requests Here

Software AutoUpdater -- Experimental Software Autoupdating

(1/4) > >>

justice:
Software AutoUpdater -- Experimental Software Autoupdating
What is it?
Did you ever wish Windows Update worked for more programs? Do you use a lot of software from small vendors and wish you could update them quicker? Then maybe this will help.

Inspired by Mouser's Find and Run Robot and his frequent new alpha releases I have created a software updater program.


* Configuration on a per application basis through ini files
* Decentralised, after installation developers can easily spread new versions to end users (or users can provide the ini files)
* Automatic checking and downloading of newer versions of software for end users
Whether or not this program will actually be useful depend on developers picking it up and users having the same dream as me.

As it is based on Autohotkey it can easily be extended for example with installation AHK scripts. Functionally it is more to prove auto-updating can be done and brings great benefit.

How it works
People can install a .ini file in the Apps\ folder for each application they want to keep up to date. a sample ini file has the following configuration:

--- ---[Updates]
Title=Test Software
IniURL=http://amasan.co.uk/downloads/updater/Apps/test.ini
URL=http://amasan.co.uk/downloads/updater/test.exe
LastCheck=Wed, 02 May 2007 13:55:24 GMT

The Title line is optional for display purposes. The IniURL pair points to the same ini file online -- updated by the developer or third party (the program then knows where to look for updates as well as being able to move ini files). the URL pair points to the latest executable. LastCheck is systemgenerated, so don't include it.

The auto updater will compare the last-modified header of the URL to a value it writes in the local ini file of the last check of the program, if the file is newer then the previous check it will download it and run it so the user can upgrade. Afterwards it will write out the time of the update to the ini file.

I'm curious to see what you think of it. I wish it could update itself, but because the executable is in use while updating I have not solved this. Also I wish to make it possible to provide a redirect as a url, less updating for the developer (untested so might already be possible)

Suggestions, implementation issues an comments are very welcome. See the source etc, it is the first public version and will probably have some bugs.

mouser:
very very cool.
i can see only a few possible issues:
1) would be nice if you could solve the inuse issue especially when it needs to shutdown a program before installing new version.
2) checking the last-modified header of url is very very clever.. but i wonder if it means that on each update check the actual exe is requested from the server and "sent" (thus eating bandwidth? or tricking server stats into thinking there was a download?)  maybe you could have it check one file (like a dummy 0 length file) and then download the real one.  developer would have to update dummy file of course when the exe is updated.

justice:
I hope to solve 1) I have not looked into it yet.
But regarding 2: I use the httpqueryinfo script from http://www.autohotkey.com/forum/topic10510.html  to query the http headers. I do not just it requests the whole .exe but will double check tomorrow. MAybe you can tell from the link, it's quite technical (calling .dlls)

lanux128:
looks promising, how can i adapt the ini file to check Farr's alpha version? :)

lanux128:
thanks, justice.. it works fantastically.. :Thmbsup: here's the screenshot.. :)

Navigation

[0] Message Index

[#] Next page

Go to full version