Re: Cant replace the executable for auto upgradation when its executing
site_archiver@lists.apple.com Delivered-To: installer-dev@lists.apple.com 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 (Installer-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/installer-dev/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com
participants (1)
-
Bill Coderre