Is there a way to make the "Install and Restart" action async?

Asked by Jeremy Sequoia

It takes about 1-2 minutes to finish installing the .pkg update to my application, and I'd like to allow the user to continue using it during the update. Right now, when the user clicks 'Install and Restart', the application "freezes" while the installer does its thing. After Installer.app exits, the user gets a quit confirmation dialog (from my app, not Sparkle). This seems to be by design since the app is waiting for the exit:

                          6209 -[NSApplication sendEvent:]
                            6209 -[NSWindow sendEvent:]
                              6209 -[NSControl mouseDown:]
                                6209 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:]
                                  6209 -[NSCell trackMouse:inRect:ofView:untilMouseUp:]
                                    6209 -[NSControl sendAction:to:]
                                      6209 -[NSApplication sendAction:to:from:]
                                        6209 load_dsa_key
                                          6209 load_dsa_key
                                            6209 -[NSConcreteTask waitUntilExit]
                                              6209 CFRunLoopRunSpecific
                                                6209 mach_msg
                                                  6209 mach_msg_trap
                                                    6209 mach_msg_trap

Is there a switch to make this async, or should I file a bug report about that?

Thanks.

Question information

Language:
English Edit question
Status:
Solved
For:
Sparkle Edit question
Assignee:
No assignee Edit question
Solved by:
Jeremy Sequoia
Solved:
Last query:
Last reply:
Revision history for this message
Andy Matuschak (andymatuschak) said :
#1

Good question. That's a bug, though probably not one I'll fix anytime soon. Sorry! :(

Revision history for this message
Jeremy Sequoia (jeremyhu) said :
#2

The patch in the related bug report works for me.