Auto Update for app outside AppStore. Quarantine and Ventura 13.1+

Hi,

I distribute my app for macOS outside AppStore. I implemented Auto Update function which worked perfectly up to Ventura 13.0. And it was broken since Ventura 13.1+

  1. The old version of my app downloads a ZIP arhive with a new version to temporary folder and unpack it to User's Library > Application Support > My AppFolder.
  2. The new unpacked version gets attribute com.apple.quarantine and the old app cannot run it.
  3. Before Ventura 13.1 the new unpacked app could be run successfully and it closes the old version and replaces the old APP bundle in Applications. And then a copy of new app in a temporary folder is being deleted.

In fact, the new APP could work as an agent to perform the update of my app.

Both apps (old and new) are signed and notarized by one team (the same signature).

Replies

The new unpacked version gets attribute com.apple.quarantine and the old app cannot run it.

Hmmm, that’s weird. Quarantine in typically an opt-in system, so programs that download things have to explicitly set it.

Are either of these apps sandboxed?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Hi Quinn,

Thanks for your reply.

My app is not sandboxed.

I tried another idea. The old app copies own APP bundle from Applications to Application Support > MyAppFolder. And tries to run it (as an agent to perform the Auto Update). The same problem - the copied APP gets com.apple.quarantine attribute and cannot be launched.

Quinn,

Can I use another approach?

  1. Create a small APP bundle (Auto Update utility), not sandboxed. Include this utility to resources of main product APP bundle.

  2. Old APP copies this small APP utility to Application Support > MyAppFolderSettings

  3. Run small APP utility.

  4. Launched small APP utility deletes еру old APP bundle in Applications. And copies a new APP bundle to Applications (downloaded and extracted in Application Support > MyAppFolderSettings folder).