You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 4, 2023. It is now read-only.
Many thanks for maintaining this project. My organisation are using this for an application, but we're now running into a problem where our M1 users need to install Rosetta to use it, but using this launcher stub doesn't automatically trigger the installation.
Users that don't have Rosetta installed are presented with dialog that says:
You do not have permission to open the application [Name]
Contact your computer or network administrator for
assistance.
According to Apple support:
The problem here is that the Rosetta "entry" point that leads to the
installation dialog is handled by LaunchServices, the same framework
that handles "normal" app launch (basically, the details of what happens
when you actually double click on "an app"). However, as your app is
currently constructed you never actually ASK LaunchServices to run a
"x86 executable". What actually happens when you double click on your
app is:
-The initial app launch (which LaunchServices DID handle) runs a bash script
which ran as "native" arm code.
-That bash script launches the "rest" of your app but that launch goes
through "exec", bypassing LaunchServices entirely.
-I suspect other processes may be created as well but all of those end
up bypassing LaunchServices as well, so the dialog never triggers.
Of course, they are referring to the launcher based on this stub which indeed calls exec to run our program. They also say:
In terms of solution, you basically just need to launch some sort of x86
application, triggering the dialog. The details of how you do that are
really up to you. Keep in mind here that my use of the term "x86
application" is meant in the BROADEST possible way. It needs to be
structured as an app bundle so that LaunchServices can handle it
properly, but it DOESN'T need to be a proper "Mac app" in any meaningful
sense.
This means, for example, we could launch a separate "empty" x86 executable alongside our application just to trigger the installation, but this would have to happen on every single launch by all of our users and would cause "artifacts" like multiple dock icons popping up.
Is there a smarter solution that could be built into our launcher? Perhaps you've encountered this already? We'd like to avoid having to rewrite our entire launcher in another language.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi,
Many thanks for maintaining this project. My organisation are using this for an application, but we're now running into a problem where our M1 users need to install Rosetta to use it, but using this launcher stub doesn't automatically trigger the installation.
Users that don't have Rosetta installed are presented with dialog that says:
According to Apple support:
Of course, they are referring to the launcher based on this stub which indeed calls
exec
to run our program. They also say:This means, for example, we could launch a separate "empty" x86 executable alongside our application just to trigger the installation, but this would have to happen on every single launch by all of our users and would cause "artifacts" like multiple dock icons popping up.
Is there a smarter solution that could be built into our launcher? Perhaps you've encountered this already? We'd like to avoid having to rewrite our entire launcher in another language.
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions