Re: auto-upgradable application
From: Dave Brueck (dave_at_pythonapocrypha.com)
Date: 11/05/03
- Next message: Skip Montanaro: "Re: BUG? PyMem_Free vs strdup"
- Previous message: Pierre Quentel: "Re: Adding localization feature to a web-project"
- In reply to: Rene Aguirre: "auto-upgradable application"
- Next in thread: Christos : "Re: auto-upgradable application"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 5 Nov 2003 10:43:46 -0700 To: "python-list" <python-list@python.org>
> The endless request from my partners to fix the bugs or add new
> features already solved on the new version was really annoying.
>
> So, I was thinking about adding an auto update feature to my app, if
> anybody knows about any package for these purpose would be great.
>
> If not at least I'll write a very basic script (different 'exe' on the
> distribution) that checks for a a new version (on an intranet/internet
> location), if so and no update to the main core is done (the Python or
> wxPython libraries) then update the changes or display a message to
> update to the latest version for main core update.
>
> Do you have a better idea?
No, that approach works pretty well. At my company I created a build process
that spits out the installer, the "full update" and the "incremental"
update. New users always download and install using the installer. Our app
is a networked app already, and part of the message that periodically comes
back from the server (client talks over XMLRPC to a Zope server) is info on
the latest version number and download locations.
If the client detects that it is out of date, it looks at the version info
to see if it is eligible for the incremental update and downloads it,
otherwise it downloads the full update (both are just zip files - full
update is about 4 MB, incremental is usually around 1MB. If your users are
all on a LAN then it's probably not worth the extra effort to distinguish
between full and incremental IMO). Once the update has been downloaded the
GUI prompts the user to see if they'd like to install it right away or wait.
When the installation is kicked off, a tiny separate program waits for the
main app to shutdown, unpacks the new files, and then relaunches the app.
One last thing that you probably don't need is that the client reports to
the server its version. This lets you keep track of how many users are still
on an old version, but in our scenario we also use it so that the server can
send back a "you're too old and must upgrade!" message so that the
client-server protocol can gracefully evolve over time.
-Dave
- Next message: Skip Montanaro: "Re: BUG? PyMem_Free vs strdup"
- Previous message: Pierre Quentel: "Re: Adding localization feature to a web-project"
- In reply to: Rene Aguirre: "auto-upgradable application"
- Next in thread: Christos : "Re: auto-upgradable application"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|