Versions newer than 8.0.0.3264 cannot be executed on Windows 11 ARM

Version 8.0.0.3263 is the last version which will run without issues on Windows 11 ARM running on a MacBook M2 using Parallels.

Newer versions (3264 - 3310) won’t start. The following log is written in the Windows Event Log:

Faulting application name: FinalBuilder8.exe, version: 8.0.0.3310, time stamp: 0x654ab6fb
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x0ed50138
Faulting process id: 0x0x1674
Faulting application start time: 0x0x1DA3A3B0D88EAD5
Faulting application path: C:\Program Files (x86)\FinalBuilder 8\FinalBuilder8.exe
Faulting module path: unknown
Report Id: b4a70852-cd4c-4533-be04-e59b59800416
Faulting package full name: 
Faulting package-relative application ID: 

I am getting this exact same issue. I have built a new VM (parallels, latest on MacBook M1 Max) for Delphi 12 and can’t get FB to run at all. I assumed it was the registration request thing that is failing, but seeing this, I installed v .3067 which has been running fine on my D11 VM and that does work. Of course, I need the latest one to pick up the Delphi 12 compiler actions.

FinalBuilder is an x86 application, so on arm it’s running in an emulated environment. I have seen other applications crash on my m1 mbp on win11 arm/parallels with similar errors. We have had this issue before, but then it started working again on later builds and now it’s failing.

I suspect it’s the virtualization code we use to protect our licensing causing this, but at the end of the day it’s all valid x86 code and the fault imho lays with the mac’s x86 emulation.

We will try a few things and see if I can produce a build that works… but no guarantees as we’ll essentially be flying blind.

Can you do a diff between build 3263 and 3264?
Build 3263 works, build 3264 does not.

I’m happy to test anything out. Is there a way to make FB actually go to D12 even though the script says D11 ?

Build 3263 supports D12

It’s not as simple as doing a code diff, the problem is no in our code (which runs fine on intel/amd) - something in the compiled code is causing a problem with the x86 emulation on arm.

So it does, many thanks, I didn’t know that as it wasn’t an option on the version history page and it was 3310 that shows it as D12 (I guess as it’s the main release) but I found it. Looks like I may be stuck on that.

So what else may have changed between the two versions as 3263 works fine?

I am only guessing here, but my guess is the obfuscation tool we use to protect our licensing moves things around randomly and while it generates valid x86 code, the arm x86 emulation doesn’t like what it’s doing.

Oh, I see, so you could just re-build 3263 again and that one may not run either. At least I have something to play with now.