Re: update framework



On Jul 21, 4:21 am, Tim Southerwood <t...@xxxxxxxxxx> wrote:
hende...@xxxxxxxxx coughed up some electrons that declared:



On Jul 20, 9:35 am, Tim Southerwood <t...@xxxxxxxxxx> wrote:
hende...@xxxxxxxxx wrote:
Gang,

I am working on a project and would like to incorporate an (auto)
update feature.

Could you elaborate more please on what you are updating.

Cheers

Tim

Thanks for the reply Tim. I am building my own application and am
trying to incorporate an update feature for it. Thats why I was
wondering if anyone has built a generic "update framework". If nobody
has, then I will need to build my own, in which case I was going to
see if anyone here knew of a perl module that would be able to send
and receive http requests (combined with wget could make an update
framework). Hope this clears it up.

Dave

Not come across one - but that does not mean there isn't.

So I guess you want to query a website for:

a) Some data indicating current version of your app and urls of the various
bits needed to transition between two versions (deltas) - or url of the new
complete version.

b) Fetch various binary blobs (zip or tar files maybe), then install them
locally to update either data or the app itself.

It wouldn't be daft to drive wget via system or IPC::Run(3). Certainly
simple.

Also the data in a) needn't be HTML - it could be any parseable text at your
convenience. If XML, then the XML::Simple module is really easy to use.

If you want to talk to web servers directly, this is a reasonable and mature
module:

http://search.cpan.org/~gaas/libwww-perl-5.806/lib/LWP.pm

and there's this one too:

http://search.cpan.org/~gaas/libwww-perl-5.806/lib/Net/HTTP.pm

Sorry - I can't give any help with how to do the update as I don't know what
your app looks like. File::Copy may be of use.

But I would say - if you are updating core app binaries or critical data,
try to have a way where you can install an updated version in parallel to
the running version. Then if anything goes wrong, the user has a fall back
to a version that still works. This is particularly true of updates that
have so many parameters outside of you control (your webserver might crash,
the internet falls over betwixt you and your user, their machine crashes
(or gets turned off!) mid update.

Cheers

Tim


Tim you have provided some good information and I will take a look
into the modules you spoke of. Regarding the updating in parrallel,
what about doing the following:

1) download the entire update archive in /tmp dir (in tar.gz format)
- this would eliminate any problems from failed webserver or
update not completely downloading

2) untar contents and run tar.sh/tar.pl script to tar all the matching
files that will be installed over
- this would preserve the users original files and give him/her
the ability to roll back if neccessary

3) run install.sh/install.pl to perform the acutal installation of the
update

Do these steps seem reasonable and seem to eliminate most of the
problems associated with updating an app?

Thanks,
Dave

.



Relevant Pages

  • Re: update framework
    ... Could you elaborate more please on what you are updating. ... trying to incorporate an update feature for it. ... Fetch various binary blobs, then install them ... locally to update either data or the app itself. ...
    (comp.lang.perl.modules)
  • Re: ClickOnce Nightmares
    ... your app need to install the settings. ... LAN) you could create a logon script that will automatically install the ... DownloadOptions options, ServerInformation& serverInformation) ... FileAccess access, Boolean asyncHint) ...
    (microsoft.public.dotnet.framework)
  • Re: Saving Back-End Data As mdf
    ... complete code of a VB.NET console app. ... It's just an example to illustrate how a connection string is used. ... so it doesn't appear to be a problem with how or what I install. ... you access to the Microsoft Office Online Beta site'. ...
    (microsoft.public.access.formscoding)
  • Re: Run 10.20 App on 11.00 ?
    ... installed on both machines using the vendor's install scripts. ... > if the app links in libc.a then you basically up the creek because you have ... Use chatr to see what the dependent libraries are. ... an industrial control system made by Fisher Control Systems. ...
    (comp.sys.hp.hpux)
  • Re: Windows XP auto updates stinks!!
    ... just use one exploit whereas you have to test all patches. ... you needn't install them. ... so I ignore any updates to it. ... you install an incompatible app ...
    (microsoft.public.windowsxp.general)