How to run AppleScript that embeds intel code

I have an AppleScript Application which at some point calls a 64-bit intel binary (x86_64), let’s call it cmd The code to do so is do shell script "cmd". However, on a clean Apple Silicon (M1) system, I get the error message Bad CPU Type in executable.

I tried specifying the architecture by running do shell script "env /usr/bin/arch -x86_64 cmd" which gives a slightly different error message.

Adding LSArchitecturePriority with the string array item x86_64 to the Info.plist doesn’t seem to make a difference.

I checked the Application’s binary applet, and that’s supporting both x86_64 and arm64 architecture. And indeed, when I in Finder’s Info panel I check the “Open using Rosetta” everything works as expected and wanted.

However, can I mark my application to use Rosetta at compile time, so the end-user doesn’t have to do this?

(when Rosetta is installed, everything works just fine. I just want to get rid of those “Bad CPU type” errors)

Also: I hope to get rid of these binaries in the near future, but I’m just not there yet. Any help would be appreciated.

If LSArchitecturePriority doesn’t work, I suspect you’re out of luck.

Too bad.

I also noticed, when specifying LSArchitecturePriority, Finder doesn’t show the “Open with Rosetta” checkbox in the Info panel.