Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: Cant replace the executable for auto upgradation when its executing
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cant replace the executable for auto upgradation when its executing



On Aug 17, 2010, at 6:35 AM, mak4mac wrote:
> I m creating an auto installer/upgradation for my project.
> When the app is executing, i cant replace the latest(updated) executable from my server as it is locked for execution.
> Ideas to do this would be appreciable.


There are two common solutions:
1) If it's an application, present an error to the user. This IS the standard behavior, but is not in Installer.app at this time. I know it sounds lame, but it's really the best choice, because the user might have unsaved changes, etc, etc.

2) If it's a daemon/unix process, it might be OK to quit/kill the process, update it, and restart it. If so, do that. It might even be OK to replace the binary, then restart the process. Many unix executables are 100% loaded into memory during execution, and therefore it's just fine to change the binary out from under the process.

Note that Mac OS X applications should not be updated while running, because they are not 100% in memory. A particular example is that if you change NIBs and the old binary is still running, the app might crash, or menu items might stop working.

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Installer-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Cant replace the executable for auto upgradation when its executing (From: mak4mac <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.