Trevor, this is great stuff! I will now study it very carefully. I absolutely agree that there should be some kind of standard solution offered to LC developers. I’ve been saying for a long time that deployment is really the big issue for developers who have signed up to, and wish to depend on, LiveCode. Other topics under this heading include:
- code signing; - installer production - uninstallers to get rid of hidden files (neither the Mac nor the Windows built-in uninstall processes do a good job, not sure about mobile) - workaround advice for users faced with aggressive anti-malware software that threatens to reject anything new - uploading to servers using FTP clients I’ve had to tackle all these, and I know there’s more, for example submission to the various app stores out there.. Anyway I’m about to start another chapter of my education! Thanks again Graham > On 22 Jan 2018, at 16:06, Trevor DeVore via use-livecode > <use-livecode@lists.runrev.com> wrote: > > On Mon, Jan 22, 2018 at 5:04 AM, Graham Samuel via use-livecode < > use-livecode@lists.runrev.com> wrote: > >> Nowadays it’s customary for quite modest apps after launching to notify >> the user of an update being available, with the possibility of carrying out >> the update there and then, or refusing. A succession of dialog boxes guides >> the user through the updating process and shows progress. The update >> somehow bypasses the normal installation process, accepts existing license >> data, and simply replaces the app. If the app has a document open, then the >> new copy of the app re-opens it. > > > Graham, > > There are a lot of different approaches to this in the community. Here is > my take on it. Currently I'm using the code in the following repository for > automated updates. It is a Helper that I use with the Levure framework and > I haven't documented it at all. > > https://github.com/trevordevore/levurehelper-app_updater > > It is a combination of Sparkle for macOS (Monte wrapped this up in an > external for me) and LCS for Windows that I've been using over the years. > Both macOS and Windows download an entirely new application. On macOS the > app is zipped up and Sparkle downloads the zip archive, unzips it, and > installs it. If the update requires authentication that is handled. On > Windows the updater just downloads the Windows installer executable that is > used for installing the app for the first time. This is an installer built > using Inno Setup which will prompt the user for administrative permissions > if need be. > > I prefer to replace the entire application when I do updates. My apps are > installed in a number of different environments. I would often get reports > of problems when trying to update the app in pieces inside of corporations. > Plus if you don't update the exe on Windows then the version number of your > app won't be reported properly in the File Properties dialog. When I > switched to downloading and running a full installer on Windows the reports > of issues after running the updater dropped to 0. > > In my ideal world the Windows side would use WinSparkle as it would be nice > to leverage the work of a 3rd party. I like using code that is being tested > by a lot of other people and which is entirely focused on automatic > updates. I didn't want to create an external around it, however, so I've > been waiting for the LCB to DLL interface in the engine to mature. I > imagine WinSparkle could probably be wrapped using LCB now. > > https://winsparkle.org > > I would like to see the LC community have a standard automatic update > solution available that is easy to use and is very reliable in all > environments. To me it makes the most sense to leverage the work done by > others who are focused on automatic update. > > -- > Trevor DeVore > ScreenSteps > www.screensteps.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