On 6/12/24 12:34 PM, 'Bill Stewart' via innosetup wrote:
> function UseX64Binaries(): Boolean;
> begin
> result := Is64BitInstallMode() and IsX64Compatible();
> end;
>
> function UseARM64Binaries(): Boolean;
> begin
> result := Is64BitInstallMode() and IsArm64();
> end;
I don't think that's what you want: both functions will return True on
Arm64 Windows 11.
Have a look at 6.3's 64BitThreeArch.iss example script which has updated
x64compatible-compatible code.
> Am I correct in assuming that the Is64BitInstallMode() function calls in
> the UseX64Binaries() and the UseARM64Binaries() functions are redundant?
Yes, calling Is64BitInstallMode is redundant when the same architectures
are listed in ArchitecturesInstallIn64BitMode. If the
ArchitecturesInstallIn64BitMode expression matches the current system
but Setup cannot enable 64-bit install mode, it will exit with an error
message.
I can't remember why the Is64BitInstallMode calls were in the example
(but they're gone in 6.3). Maybe an early pre-release build of 5.1
needed it.
-JR