py2exe automatic upgrades of a program while it is running, is that possible?

Maxim Khitrov mkhitrov at gmail.com
Tue Mar 3 03:56:23 CET 2009


On Mon, Mar 2, 2009 at 9:18 PM, William Heath <wgheath at gmail.com> wrote:
> Hi All,
> I am using py2exe to create a windows executable.  I am curious if anyone
> knows a way to automatically upgrade a py2exe windows executable while it is
> running.  Is that possible?  If so how?  If it isn't possible, what is the
> next best thing?  Also, if it is not available using py2exe is it available
> in other languages/solutions your aware of?
> -Tim

I don't think there is a way to do this directly. The best thing that
I can think of is to have your program to use the subprocess or
multiprocessing modules to launch a second instance of itself when an
update is required. The parent would pass the child any necessary data
so the child could continue where the parent left off, have child
acknowledge this transaction, and then the parent can exit. Depending
on what your program is actually doing this may not be a reasonable
solution. Look into os.pipe, multiprocessing.Queue, and
subprocess.Popen.communicate. If you have pywin32 extension installed,
win32event module contains a number of useful functions for things
like creating inter-process events.

- Max



More information about the Python-list mailing list