Re: Exiting installer on Catalina
Re: Exiting installer on Catalina
- Subject: Re: Exiting installer on Catalina
- From: Greg Neagle via Installer-dev <email@hidden>
- Date: Mon, 19 Aug 2019 17:59:12 -0700
...but you don’t want to assume you can display a dialog or alert inside a
package preinstall or postinstall script as the package may be being by a
management process — and there may be no active GUI user session.
Sent from my iPhone
On Aug 19, 2019, at 5:49 PM, Conor Schutzman <email@hidden> wrote:
It might also help if we knew why the OP needed to force a pop up instead
of utilizing the custom install UI.
Important side note that installer plug-ins do not execute when the package
is executed via CL (like is commonly done via Jamf or other deployment
suites). If the only thing that the plugin is doing is tossing a dialog, it
may be worth looking into other ways to do that from within the preinstall
or postinstall scripting.
Sent from my iPhone
On Aug 19, 2019, at 5:43 PM, Greg Neagle <email@hidden>
wrote:
Sounds like something I hope I never need to deploy!
Sent from my iPhone
On Aug 19, 2019, at 5:42 PM, Conor Schutzman via Installer-dev <
email@hidden> wrote:
And while Installer.app will queue multiple packages, it can (without
taking extraordinary measures) only have one open instance, so should be
pretty safe with a kill command to end it specifically.
Sent from my iPhone
On Aug 19, 2019, at 5:32 PM, Vachik Hovhannisyan via Installer-dev <
email@hidden> wrote:
No, it will kill only UI-based Installer (spelled with uppercase I)
and user-experience-wise is in parity with the exit()/terminate/etc you
have been using before...
The command-line installer is spelled with lower-case "i" and will not be
affected by kill command.
On Monday, August 19, 2019, 04:49:09 PM PDT, Lora Lozano <
email@hidden> wrote:
Thanks for your reply, Vachik. The issue with calling system("killall -9
Installer”) is that if other installers are running simultaneously, those
will be killed also.
-Lora
On Aug 19, 2019, at 4:36 PM, Vachik Hovhannisyan <email@hidden> wrote:
Hi Lora,
As I pointed out in my previous posts, Installer plugins are running
outside of the Installer process so all the ext()/NSApp.terminate/etc calls
are dealing with another process hosting the plugin, not Installer itself.
You still can use brute force kill command though
system("killall -9 Installer");
Cheers
V.
On Monday, August 19, 2019, 03:41:09 PM PDT, Lora Lozano via Installer-dev <
email@hidden> wrote:
Hi,
In my installer plugin code, I display an alert by using NSAlert. In this
alert, I have a button which, when clicked, should exit the installer. This
works fine on OSes prior to Catalina, but on Catalina, the installer hangs
when clicking on this button.
To exit the installer, I have tried the following six alternatives:
exit(EXIT_SUCCESS);
exit(EXIT_FAILURE);
[[NSApplication sharedApplication] terminate:nil];
[[NSApplication sharedApplication] terminate:self];
[NSApp terminate:self];
[NSApp terminate:nil];
However, they all result in a hang (again, only on Catalina). For example
from the console log when calling [NSApp terminate:nil]:
default 15:33:16.841249-0700 distnoted unregister token: f4260
pid: 11340
default 15:33:16.841301-0700 distnoted unregister token: f425f
pid: 11340
error 15:33:16.843817-0700 WindowServer CGLayerKit called back to
a dead connection
default 15:33:16.843990-0700 hidd Connection removed:
IOHIDEventSystemConnection uuid:E9477186-1BC5-48C2-AC7E-F34BDEB7AFFD
pid:11340 process:InstallerRemotePluginService type:Passive
entitlements:0x0 caller:HIToolbox:
___GetIOHIDEventSystemClient_block_invoke + 26 attributes:(null) inactive:1
events:0 mask:0x0
error 15:33:16.844238-0700 WindowServer CGLayerKit called back to
a dead connection
default 15:33:16.847986-0700 runningboardd
[executable<InstallerRemotePluginService(501)>:11340] Death sentinel fired!
default 15:33:16.848452-0700 launchservicesd QUITTING: pid=11340
asn=0x-0x189189 foreground=0 wasFront=0
default 15:33:16.850220-0700 CommCenter #I
handleLSNotitifcation_sync: Application exited: <private>
default 15:33:16.851097-0700 loginwindow -[PersistentAppsSupport
applicationQuit:] | for app:InstallerRemotePluginService (Installer),
_appTrackingState = 2
default 15:33:16.850615-0700 runningboardd Invalidating assertion
324-133-1049 (target:executable<InstallerRemotePluginService(501)>) from
originator 133
default 15:33:16.952295-0700 runningboardd Removing process:
[executable<InstallerRemotePluginService(501)>:11340]
default 15:33:16.956649-0700 runningboardd Removing assertions for
terminated process: [executable<InstallerRemotePluginService(501)>:11340]
I can also provide a [lengthy] .hang file if that would help.
Anyone have any suggestions on how to fix this? Any help would be greatly
appreciated.
Thanks,
Lora
_______________________________________________
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
_______________________________________________
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
_______________________________________________
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
_______________________________________________
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