AmiAutoUpdater

1 Have you ever been tired of keeping up-to-date with the new versions of your favorite programs? Have your ever been envious of how some programs update themselves automagically? (Think Mozilla Firefox, Microsoft Skype...) If you ever did, then AmiAutoUpdater is made for you!

 

In a Nutshell

AmiAutoUpdater is composed essentially of seven components:

  1. Small FTP and HTTP clients to access, check, and download archives containing the new version of a program;
  2. A XAD client to unarchive downloaded archives;
  3. A CLI- and icon-based "application programming interface" (API) to control AmiAutoUpdater.

 

Requirements

AmiAutoUpdater has few requirements:

 

Availability and Downloads

AmiAutoUpdater is open source. Its source code and binaries are available on SourceForge and BitBucket ! Manual and other resources are available here . AmiAutoUpdater binaries are also available here:

 

Usages

AmiAutoUpdater can run from the CLI or from an icon. In any cases, it supports three parameters, its API:

  1. URL/A: The complete URL with a supported protocol (http:// or ftp://) to a supported archive, for example http://aminet.net/mus/play/AmiModRadio.lha. This is the archive that will be checked, downloaded, and unarchive if it is newer that the file below;
  2. FILE/A: The absolute or relative path to a file, for example AmiModRadio. This is th file that will be checked and, if older than the archive above, will be replaced;
  3. IGNOREMISSINGFILE/S: Whether or not AmiAutoUpdater should stop if the file above is missing entirely. This option is useful to use AmiAutoUpdater to download any software, for example from Aminet .

 

A typical example, which will be released soon with AmiModRadio , is this two-line script in the drawer AmiModRadio:

  1. AmiAutoUpdater URL=http://www.chingu.asia/wiki/userfiles/file/Programming/AmiModRadio/LatestAmiModRadio.lha FILE=AmiModRadio IGNOREMISSINGFILE
  2. WBRun AmiModRadio

 

Timeline

  • 2018/10/28: First release, very simplistic but working. No fancy output or UI though...

 

Roadmap

Feature on the work are, in no particular order:

  • Give control of the output to the user;
  • Provide more informations/checks when resources are locked by other programs;
  • Provide some more fancy UI, maybe a kind of progress bar for download and unarchive.

Thanks to giZmo350 for the ideas:

  • Allow updating "external" components to a program, i.e., libraries, devices...
  • Allow updating the Startup-Sequence if needed;
  • Allow developers and users to choose how much to update through the API and the user-interface;
  • Check for viruses using some well-known anti-virus (?);
  • Allow to have a description of the update pulled from the remote server;
  • Create a log of the changes made;
  • Save the old version of the program before updating it.

 

Links

 

1 Images by Oxygen Team (here) under GNU/GPL, thanks!


The last three changes:

Tygre - 2018-11-06 06:18:36 pm  |  Tygre - 2018-11-02 08:07:37 pm  |  Tygre - 2018-11-02 03:59:51 pm