Downloading Updates --the current stack?

Jeanne A. E. DeVoto revolution at jaedworks.com
Wed May 18 05:32:07 EDT 2005


At 10:20 AM +0200 5/18/05, Malte Brill wrote:
>sorry, I wasn´t clear enough. What I meant is the download and 
>replacement process (write permissions) e.g when the app lies on 
>macHD/Applications. Would that be a problem? If so, can we code 
>around it?


Ah, I see what you mean. Hmmm. If the download process fails because 
of a permission problem, I think you get an error returned in the 
result. So at least you can tell that it happened.

How to work around it is another question. You could download the 
stack to another location such as the Preferences folder, where the 
user (should) have write permission, and then use the delete command 
to remove the old version from memory, then load the new version into 
memory by opening it or getting a property of the stack.

However, this would only work for the current session - the next time 
the application starts up, it would load the (old version) stack from 
its bundle. And if the idea is to perform a live update of the 
application, a solution that only works for the current session 
obviously isn't sufficient. In this case it may be best to check the 
result during the download, and if there is an error, advise the user 
to log in as an admin in order to do the install. This is a little 
ugly but I don't see a good way around it - it is true in general 
that installing apps requires sufficient permissions.

One other method would be to allow a copy in the Preferences folder 
to override the copy in the application bundle. When the application 
starts up, it can first check the Preferences folder for the stack - 
and if the stack is there, load it from Preferences rather than from 
the bundle. This has two disadvantages - it makes things more 
complicated in general, and it takes up more disk space - but it 
might be the best solution for certain situations.
-- 
jeanne a. e. devoto ~ revolution at jaedworks.com
http://www.jaedworks.com


More information about the use-livecode mailing list