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