Re: Cant replace the executable for auto upgradation when its executing
Re: Cant replace the executable for auto upgradation when its executing
- Subject: Re: Cant replace the executable for auto upgradation when its executing
- From: Bill Coderre <email@hidden>
- Date: Tue, 17 Aug 2010 11:39:48 -0700
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