Re: More user agent questions
Re: More user agent questions
- Subject: Re: More user agent questions
- From: Rick Mann <email@hidden>
- Date: Fri, 6 Mar 2009 11:17:51 -0800
Thanks for the suggestions.
On Mar 5, 2009, at 22:49:34, Kyle Sluder wrote:
On Thu, Mar 5, 2009 at 9:58 PM, Rick Mann <email@hidden>
wrote:
Our product (on the network) periodically updates its own software,
and that
update may include a new version of the Mac software. When the
agent checks
in and sees there's a new version, we'd like it to update ASAP,
transparently (no user intervention required).
Is this a custom app? If it's a commercial app, then I'd be very
upset to find my app updating itself without my permission.
I have voiced my opposition internally to automatic updates, and been
ignored. However, in this context, it's not as bad as your typical
commercial app. I really can't say more about it just now.
Can any running instance (even if it's not for an admin user) shut
down and
relaunch other instances? Can it update launchd configuration as
necessary
for the other users?
Maybe and no, respectively. To get the shutdown behavior, your agents
would need to check in with each other and whichever performs the
update needs to tell the others to shut down. A regular user can't
update another user's launchd settings, though.
If the UI is running, it will present a Sparkle-like dialog to warn
the user
that a new version is available. It may time out after a period of
time and
force the update. Basically, if our product updates its software,
it's
important that the Mac software update as well, otherwise things
might break
(we have no backward-compatibility requirement).
I'm having a hard time figuring out under what circumstances you would
need to force the update. Since you talk about administrative users,
I'm inclined to think that this is not a custom app, but a commercial
one. I can imagine the seething rage exploding after the first time
the app forces its own update.
I'm not sure about the distinction you're making between "custom" and
"commercial." Our product is a stand-alone consumer electronics system
that happens to have software you can optionally install on Windows
(ew) or Mac OS X (yay). The difficulty we face is that the main
product can update itself at any time (typically in the middle of the
night), and with that might come an incompatibility with the Mac (or
Windoze) software.
Also, what is this "Mac software" -- actual system software, or your
own software? Are you saying that you would forcibly restart the
machine after applying the update? This is a very bad idea.
It is our own software. We would never restart the machine. Only our
software.
How do people deal with their agents running when there are
multiple users
logged in?
IPC. Maybe have instances check the local port nameserver for other
instances to communicate with. It's your problem to solve.
I honestly think it's a problem for Apple to solve, and here's why:
They provide a mechanism by which per-user software can be made to
run, and they provide a multi-user environment. What happens if three
users are logged in, and two of them are running iTunes, and the
current user gets a software update for iTunes? Obviously one user
doesn't care (not running iTunes). Is the current user able to update
iTunes, given that another instance is running? What if the non-
current user is in the middle of burning a CD?
If iTunes solves the problem, what does Pages do? Do they also solve
it, perhaps with slightly different behavior? This is a system-wide
problem that affects almost any app, background or not. It would be
nice to have support and guidance from Apple.
Anyway, thanks for the suggestions, we'll add them to our
considerations.
--
Rick
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden