Anyone using a third-party update tool for LC-originated desktop apps?

Graham Samuel livfoss at mac.com
Sat Feb 3 15:57:04 EST 2018


Just reporting in, having had a closer look, I see that what Trevor has done is frankly beyond me. There seems too much to learn, starting with GitHub, and the number of days I could dedicate to the task in the near future is quite limited. 

For that reason I’m tempted to try to grow my own, using just LC scripting: of course this may not work. I absolutely agree with Trevor’s policy of replacing the entire application (although IMO the user should be offered preservation of any data kept in the application support area on either platform). 

However, this is tricky, since one would want to invoke a standard installer without the user having to take any of the classic actions (e.g. on the Mac, moving the app icon the Applications folder, which is what DMG installers propose). 

I suppose the ultimate simplification is to detect that an update is available (easy, via a little file on a server) and then tell the user how to delete the old version and install the new one ‘by hand’, so to speak. Sounds terrible, but it may be the only possible economic method for me. Or am I being particularly stupid?

I have still not fully explored third-party solutions, but they would have to avoid coding - well, certainly in any language other then classic LC - to work for me.

Anyone else got any thoughts on this?

Graham

> On 22 Jan 2018, at 15:06, Trevor DeVore via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> On Mon, Jan 22, 2018 at 5:04 AM, Graham Samuel via use-livecode <
> use-livecode at 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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list