What are "appropriate" Applications directories?

Documentation for System Extensions talk about an "appropriate" Applications directory, but doesn't specify what this is. /Applications and its subdirectories qualifies, but are there more? Did this change in macOS 15 Sequoia?

Installing System Extensions and Drivers :

Your app is installed in an appropriate Applications directory of the system.

OSSystemExtensionErrorUnsupportedParentBundleLocation:

The app itself must be in one of the system’s Applications directories.

Background: while testing one of our apps with a VPN Network Extension on the current Sequoia beta, it seems that the restrictions got tighter. I'm able to run this app in my user's ~/Applications on macOS 14.6.1, but on macOS 15.1 beta I get this error now:

Error Domain=OSSystemExtensionErrorDomain Code=3 "App containing System Extension to be activated must be in /Applications folder. Current location: file:///…
Answered by DTS Engineer in 800086022

Documentation for System Extensions talk about an "appropriate" Applications directory, but doesn't specify what this is. /Applications and its subdirectories qualifies, but are there more? Did this change in macOS 15 Sequoia?

The documentation is intentionally because while the "basic" case is obvious ("/Applications"), edge cases like how network boot configurations can be more complicated. It also leaves us plenty of space for future evolution.

FYI, "~/Applications" is not one of our standard directories. It could/should have been within the original layered hierarchy convention Mac OS X established but we never actually created it, now has it ever been in common use. Related to that point, one of our other documents uses this phrasing for the same issues:

"...the app itself must be installed in one of the system’s Applications directories. ..."

I won't pretend that our usage here has been consistent, but the specific phrasing of "the system's < > directories" has generally been used to specifically refer to the directories OUTSIDE of the users home directory. In other words, the directories "the system" is responsible for, not the user.

Background: while testing one of our apps with a VPN Network Extension on the current Sequoia beta, it seems that the restrictions got tighter. I'm able to run this app in my user's ~/Applications on macOS 14.6.1, but on macOS 15.1 beta I get this error now:

Looking at our code, I don't see any obvious change here and I would not have expected "~/Applications" to have worked in 14.0 either. Is it possible that developer mode had been turned on? That would have allowed activation to work "anywhere".

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Accepted Answer

Documentation for System Extensions talk about an "appropriate" Applications directory, but doesn't specify what this is. /Applications and its subdirectories qualifies, but are there more? Did this change in macOS 15 Sequoia?

The documentation is intentionally because while the "basic" case is obvious ("/Applications"), edge cases like how network boot configurations can be more complicated. It also leaves us plenty of space for future evolution.

FYI, "~/Applications" is not one of our standard directories. It could/should have been within the original layered hierarchy convention Mac OS X established but we never actually created it, now has it ever been in common use. Related to that point, one of our other documents uses this phrasing for the same issues:

"...the app itself must be installed in one of the system’s Applications directories. ..."

I won't pretend that our usage here has been consistent, but the specific phrasing of "the system's < > directories" has generally been used to specifically refer to the directories OUTSIDE of the users home directory. In other words, the directories "the system" is responsible for, not the user.

Background: while testing one of our apps with a VPN Network Extension on the current Sequoia beta, it seems that the restrictions got tighter. I'm able to run this app in my user's ~/Applications on macOS 14.6.1, but on macOS 15.1 beta I get this error now:

Looking at our code, I don't see any obvious change here and I would not have expected "~/Applications" to have worked in 14.0 either. Is it possible that developer mode had been turned on? That would have allowed activation to work "anywhere".

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

What are "appropriate" Applications directories?
 
 
Q