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