1.6.3: Installer refuses to install in x64 mode on ARM64 Windows 11

*** Please report new bugs here! ***

Moderators: helmut, XnTriq, xnview, Dreamer

FalconFour
Posts: 4
Joined: Wed Dec 27, 2023 6:53 am

1.6.3: Installer refuses to install in x64 mode on ARM64 Windows 11

Post by FalconFour »

XnView: MP 1.6.3 - 64 bit
OS: Windows 11 ARM64 (MS Devkit 2023 / Volterra)

Windows 11 on ARM is fully compatible with 64-bit x86-64 Windows software - which I use routinely, as I use my Volterra box as a daily driver, though I also build select apps myself (to native ARM64) where needed.

When I went to install XnView, it was the first program I've encountered in a full year of daily-driving this machine, that appears to mis-detect the host OS as not being x64-compatible when it launches.

Effect: The error I receive is "This program can only be installed on versions of Windows designed for the following processor architectures: x64". And then the installer exits.

To reproduce:
1. Have a Windows on ARM system, e.g. Apple Silicon MacBook with Parallels
2. Download XnView x64
3. Try installing XnView x64
Actual behaviour (bug): Installer refuses to run, despite the program being capable of installing/running, as if it's looking for an architecture match instead of a capability match :bug:

Expected behaviour: Installer identifies the x64 capability is present and installs normally
FalconFour
Posts: 4
Joined: Wed Dec 27, 2023 6:53 am

Re: 1.6.3: Installer refuses to install in x64 mode on ARM64 Windows 11

Post by FalconFour »

Worthwhile to add:

Tested this on my M2 MacBook Air with Parallels - same behavior, refuses to install.

Downloaded the x64 *.zip, and the program works fine as expected. However, this isn't very usable, as a program that's not installed may as well not even exist. Could just dump it in AppData and create a shortcut, but it's so sloppy a solution when the installer is right there.
User avatar
xnview
Author of XnView
Posts: 45954
Joined: Mon Oct 13, 2003 7:31 am
Location: France

Re: 1.6.3: Installer refuses to install in x64 mode on ARM64 Windows 11

Post by xnview »

The windows x64 package is not ARM64
Pierre.
FalconFour
Posts: 4
Joined: Wed Dec 27, 2023 6:53 am

Re: 1.6.3: Installer refuses to install in x64 mode on ARM64 Windows 11

Post by FalconFour »

I am very aware of that. Software does not need to be ARM64 (most software isn't). It's the same paradigm of running 32-bit software on 64-bit Windows (WOW64). The installer simply needs to identify that the system is X64 compatible and not refuse to install because it mis-detects the capability of the x64 emulation that the installer is already running under.

As I said, the application runs fine from the x64 *.zip package, the installer just needs to not throw this roadblock and exit. I could hack it with some Ghidra and bypassing the check, I'm sure, but that ought to be fixed.
kaalus
Posts: 1
Joined: Wed Jan 24, 2024 1:03 pm

Re: 1.6.3: Installer refuses to install in x64 mode on ARM64 Windows 11

Post by kaalus »

Pierre, x64 software runs just fine on Windows arm64. Please just remove the x64 check from the installer.

Of course, in the long term it would be perfect to have a proper arm64 build for Windows. x64 emulation only runs at about 60% speed under arm64, which is not ideal but usable. Apple M1/M2/M3 are so quick and efficient that this is frequently faster that many native x64 Windows laptops anyway. There is more and more arm64 devices showing up in the Windows world, and the trend is only going to accelerate in the future. I personally use a Macbook Pro with Parallels to have both MacOS and Windows running at the same time. I can switch between them with a flick of the touchpad. Extremely convenient!
Gnomus
Posts: 1
Joined: Wed Jun 26, 2024 7:30 pm

Re: 1.6.3: Installer refuses to install in x64 mode on ARM64 Windows 11

Post by Gnomus »

It appears that XnView uses Inno Setup. Per https://jrsoftware.github.io/issrc/whatsnew.htm it is possible to support ARM64's x64 emulation as of v6.3.0. There are very simple changes to make in the setup to loosen it from "x64 architecture" to "x64-compatible", all described in the release notes.
FalconFour
Posts: 4
Joined: Wed Dec 27, 2023 6:53 am

Re: 1.6.3: Installer refuses to install in x64 mode on ARM64 Windows 11

Post by FalconFour »

Wow! I didn't even realize the installer platform itself lacked the ability to discern x64-native from x64-compatible (a good way of thinking about it). Indeed, there are scenarios where you'd want the platform itself to be native x64 - specifically, if you need to install a hardware device driver or other low-level driver. But if it's just a matter of running software/binaries, x64-compatible is sufficient for most.

That Inno Setup release 6.3.0 just came out this month, so we're definitely seeing real-time evolution in the matter. Hopefully that can find its way to XnView in due time :D The program itself works fine on arm64 with x64 emulation, it's just the installer that needs to get with the program. haha
joShu
Posts: 5
Joined: Sun Oct 01, 2017 5:22 pm

Re: 1.6.3: Installer refuses to install in x64 mode on ARM64 Windows 11

Post by joShu »

I switched to Windows on Arm recently and was disappointed when XnView MP refused to install.

I had resigned myself to being forced to use some (inferior) alternatives to XnView when I came upon this thread.

Yes! The Zip installation of XnView works great with Windows on Arm. (super fast) Thanks for the zip tip FalconFour!

I copied a shortcut of xnviewmp.exe (from where I extracted the zip) and pasted the shortcut into C:\ProgramData\Microsoft\Windows\Start Menu\Programs so now Windows Start finds it. It is indeed an inelegant installation process and there are probably some gotchas to this method but so far it's working fine for me and I am relieved to have back my fav app.