Thanks, Jacque, as usual your ideas are excellent. I’ll see what I can do to 
follow your advice and report back.

As ever, it’s one of those deployment things that I would imagine affects 
everyone who publishes an app that isn’t distributed via some app store, but it 
doesn’t seem a popular topic. 

Graham
BTW, I certainly use installers, and they’re code-signed too, to simplify 
matters for users.

> On 18 Mar 2018, at 20:57, J. Landman Gay via use-livecode 
> <use-livecode@lists.runrev.com> wrote:
> 
> On 3/18/18 6:44 AM, Graham Samuel via use-livecode wrote:
>> Now, here is the primitive bit: if the user selects the update option, 
>> he/she is invited to carry out the following sequence:
>> - quit the current version (actually this can of course be done 
>> automatically via an “OK” button);
> 
> I'd automate this. The fewer steps the user needs to follow, the better.
> 
>> - delete the current version using the facilities of the OS (just trash it 
>> from the Applications folder on a Mac, or use the Control Panel on Windows): 
>> there is no reliable way of doing this from within an LC standalone, AFAIK;
> 
> I think you'd benefit from distributing some type of installer. When the user 
> clicks the "OK" button, launch the URL of your web site where they can 
> download it. Matthias' LC installer is ready (and the signing version is 
> close to ready) so you could use that while staying within the LC 
> environment. It does all the work for you.
> 
> Users know how to use installers and many Windows users don't understand 
> anything else. There are more users than you think who don't know how to find 
> a file or where apps are stored on their drive. The OS and/or the installer 
> will manage older versions so you don't have to.
> 
>> - download and run a special “Uninstall Helper” program that gets rid of the 
>> Working Stack in the writeable area, plus preference files and the like - I 
>> don’t see any way of making this happen automatically, since logically it 
>> needs to be done **after** the main program is deleted;
> 
> Instead of a helper, I'd put some logic into your app itself. The working 
> stack would have a custom property with its current version number. The 
> standalone would check on launch if the working stack exists, and if so, if 
> its custom version property matches the one it expects. If not, overwrite the 
> existing one with the new one. The new one could either be downloaded from 
> the internet on demand, or stored as a binary in a custom property of the 
> standalone. Either way, overwriting is just a matter of putting the binary 
> content into the existing stack file path on disk.
> 
>> - use the information given at the time of purchase to download the 
>> appropriate installer from the server;
>> - reinstall the program and input the registration data from the original 
>> purchase.
> 
> So, it sounds like you are already using an installer. If so, they're mostly 
> done. I wouldn't remove the user registration file or preferences; unless 
> it's changed there's no reason to make the user find their registration info 
> again (and many will lose or misplace it, which will increase support 
> requests.)
> 
> The short summary: The user only has to click "OK", the app quits, and the 
> user is taken to a web site to download the update installer. Once they 
> launch that and run the install, everything else is automatic. On first 
> launch, the app replaces any necessary files.
> 
> 
> -- 
> Jacqueline Landman Gay         |     jac...@hyperactivesw.com
> HyperActive Software           |     http://www.hyperactivesw.com
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to