How do you handle an engine update for your app?

Dave Cragg dave.cragg at lacscentre.co.uk
Mon Dec 1 10:44:45 EST 2008


On 1 Dec 2008, at 13:17, Tiemo Hollmann TB wrote:
> What are your approaches to organise this issue?

Here is the rough outline of an approach I've used before.

-- Build a standalone to act as the updater. The new "engine file" is  
contained in a custom property of this standalone.

-- Have the current application download the updater standalone.  
(place it in a temp location.)

-- Launch the updater standalone.

-- Quit the current application.

-- The updater standalone deletes the current application, installs  
the new one, and launches the new one. (Probably add a delay of a few  
seconds before deleting the current application so it has time to  
fully quit.)

-- The updater application quits.

-- In the new application, include a routine to delete files from the  
temp location, either at startup or shutdown.

Possible problems:

The user must have write permissions to the location where the  
application is to be installed. But as this also affects the original  
installation, it's probably not a problem. But you might want to only  
make the Update feature available to users with appropriate write  
permissions.

There may be restrictions/warnings/etc. after downloading an  
executable. You probably should compress the Updater Standalone and  
decompress it in the temp location from within the current  
application. (That might not be enough.)

This needs appropriate functionality in the current application. So if  
you want to update an application that is installed now, and it  
doesn't contain the appropriate functionality, you need another  
approach. ;-)

Cheers
Dave



More information about the use-livecode mailing list