Hi all (and hopefully Quinn)
I found this WWDC session today (https://developer.apple.com/videos/play/wwdc2021/10130/) dealing with MDM updates for Monterey.
The part that caught my eye was the new RemovableSystemExtensions feature. From the video:
In macOS Monterey, there is a new feature called RemovableSystemExtension.
This will allow an app to deactivate its own system extension, for example, when the app uninstalls itself.
With this feature, there will be no admin password required to remove the system extension.
This may be useful in deployments where the Mac has no admin user.
My question is, do I (we) have to do anything special in our system extension to take advantage of this or is it a free pass from MDM? I already do a call to deactivationRequestForExtension when we uninstall. And that works fine on Big Sur, but doesn't any more on Monterey. That's what led me down the path that found this session and other links.
I know I'm not the only one suffering through the uninstall aspect of system extensions and really hope that this is the holy grail.
Thanks
-
—
paulfrommanchester
-
—
paulfrommanchester
-
—
mdolan
Add a CommentWe are seeing this also. When calling
[OSSystemExtensionManager sharedManager] submitRequestwith the result of a call todeactivationRequestForExtensionfor our extension, our delegate method fordidFailWithErroris called.I have submitted the following via Feedback Assistant ID FB9429149
When calling
[OSSystemExtensionManager sharedManager] submitRequestwith the result of a call todeactivationRequestForExtensionfor our extension, and then entering administrator credentials in the dialog which is presented to the user, our delegate method fordidFailWithErroris called.The code in the NSError is
4, which so far as I can tell is aOSSystemExtensionError.extensionNotFoundAfter the failed call, if I try to run "systemextensionsctl list", I get the following output
root@monterey ~ # systemextensionsctl list 3 extension(s) --- com.apple.system_extension.endpoint_security enabled active teamID bundleID (version) name [state] 2021-07-30 13:44:19.741 systemextensionsctl[698:7828] unexpectedly trying to fetch info on a non-staged bundle? zsh: abort systemextensionsctl listBut after rebooting the machine our extension is listed again and remains as
[active enabled].apologies for the formatting above, I don't understand what's happened there.
I see the same error from systemextensionsctl afterwards too. I filed a FB ticket for that, FB9163360. Keep updating it after each beta when it happens again. I think in beta 1 and 2 (maybe just 1?) that it literally crashed after logging that. That's when I created the ticket.