Auto Updates [Was Re: External functions]
eric.chatonet at sosmartsoftware.com
Tue Feb 5 02:02:19 CST 2008
Seems that we end with very similar solutions: it's reassuring :-)
External splash stack, that is always replaced, is able to tell the
'general' version, which files are needed and the version for each of
them: other stacks files, externals and additional files (multi-
lingual localization file for instance).
About the version info of the executable: actually it's set to 1.x or
2.x, etc. (a real x): not completely satisfying but not really
worrying because the label in the title bar of the exe is set when
launching according to the right value stored in the splash stack
file. In addition a 'Check for updates' option relies on this.
Setting the version info of the exe itself seems not really doable,
at least on Vista... Virtualizing is really a pain...
About auto-check: such a check is done at every launch of the exe and
it is very fast if all goes well. The application needs many files
(kept in sub folders: remember our thread about ssleay and
libeay :-), registered activeX, etc. and depending on the crucial
status or not of a file offers to download them on-the-fly from the
Internet or enjoin the user to reinstall the software.
All information about these files, I told it, is kept in the external
We made that because if a file is missing, the exe will not run as
expected (or not at all) and we don't want to be categorized as bugs
Our logs show that using this feature is very rare actually.
About security features: you'll understand that I don't give too much
details about this on the list but I'm going to write you off list ;-)
Le 5 févr. 08 à 00:02, Trevor DeVore a écrit :
> On Feb 4, 2008, at 4:53 PM, Eric Chatonet wrote:
> Thanks for sharing Eric. Please see my questions below.
>> The app/exe itself is, of course, a launcher.
> Same. Very beneficial regardless of whether or not you use auto
> updating. Being able to keep the executable in the same directory
> as my stack files so I can launch the app during development for
> testing within a standalone is a huge benefit. One of the big time
> savers when developing with Revolution.
>> This launcher retrieves information from an external splash stack
>> and, among others, allows to set the label of the exe with the
>> right version number.
> When you say label are you referring to the info that shows up in
> the File Info dialog in Finder or Windows Explorer? Or something else?
>> A very simple text file on our server allows to compare
>> automatically the user current version with the last one and alert
>> him if needed.
>> When an update is available, needed files are downloaded and the
>> external splash screen is always replaced.
>> In case of 'big' update, a process allows with an invisible
>> installer to update all files, exe included and restart the software.
>> In addition, a check at every launch, verifies if all needed files
>> are there and downloads missing ones from the internet if needed.
> I haven't done this as I haven't needed it for my own use. If you
> get a moment I would be interested in hearing how you use this
> feature in deployment and how often it gets used.
>> So, in a few words, we have to ways of updating: a light one when
>> replacing a stack file or another one that replaces the whole app.
> Same. I think the only difference is that with my current approach,
> light update replaces all files except the executable. A full
> update replaces the executable as well.
>> PS. For security, all files on disk are ciphered and restored in
>> RAM on-the-fly.
> Would you mind explaining this a little more when you have a moment?
> Trevor DeVore
> Blue Mango Learning Systems
> www.bluemangolearning.com - www.screensteps.com
Best regards from Paris,
Plugins and tutorials for Revolution: http://www.sosmartsoftware.com/
Email: eric.chatonet at sosmartsoftware.com/
More information about the use-livecode