Installer hangs on Arm64 Windows 11
Description
The msys2-x86_64-20250221.exe installer hangs on Arm64 Windows 11 on the first page when the first Next button is clicked. Quit button works. The issue is not happening with msys2-x86_64-20241208.exe installer.
Steps to Reproduce
- Download the
msys2-x86_64-20250221.exeinstaller from https://github.com/msys2/msys2-installer/releases/download/2025-02-21/msys2-x86_64-20250221.exe - Launch it.
- Click the
Nextbutton.
Expected Behavior
The installer progresses on the next page, the Next button is active and it can be clicked to proceed further.
Actual Behavior
The Next button gets inactive and the installer stays on the first page. The Quit button works as expected, the installer window can be resized.
Workarounds
- Install MSYS2 using older installer https://github.com/msys2/msys2-installer/releases/download/2024-12-08/msys2-x86_64-20241208.exe, then update the system using
pacman -Syuu. - Use portable MSYS2 package https://github.com/msys2/msys2-installer/releases/download/2025-02-21/msys2-base-x86_64-20250221.tar.xz.
Screenshot
Installer Log
IFW Version: 4.8.1, built with Qt 6.8.0.
Build date: Feb 2 2025
Installer Framework SHA1: 12eab2bbe525fd6533b498f09f6a30c64c75d8b1
[0] Arguments: C:\Users\radekbarton\Downloads\msys2-x86_64-20250221.exe, -d
[5] Operations sanity check succeeded.
[14] Using metadata cache from "C:/Users/radekbarton/AppData/Local/cache\\qt-installer-framework\\d75f1c19-3379-3717-ae8d-1404b51494a9"
[15] Found 0 cached items.
[16] Language: en-US
[3635] Fetching latest update information...
[3641] Warning: Cannot retrieve remote tree Updates.xml contains invalid content: PackageUpdate element without ReleaseDate.
System Info
Edition Windows 11 Enterprise
Version 24H2
Installed on 10/11/2024
OS build 26100.3323
Experience Windows Feature Experience Pack 1000.26100.54.0
Here is how it (20250221) looks like on Windows 11:
So it seems it hangs for you before setting the "theme" and before any of the settings are loaded to adjust the menu.
IFW Version: 4.8.1, built with Qt 6.8.0.
Build date: Feb 2 2025
Installer Framework SHA1: 12eab2bbe525fd6533b498f09f6a30c64c75d8b1
[0] Arguments: C:\Users\user\Downloads\msys2-x86_64-20250221.exe, -d
[3] Operations sanity check succeeded.
[7] Using metadata cache from "C:/Users/user/AppData/Local/cache\\qt-installer-framework\\d75f1c19-3379-3717-ae8d-1404b51494a9"
[7] Found 0 cached items.
[7] Language: en-AT
[48] Loaded control script ":/metadata/installer-config/control_js.js"
[48] Using control script: ":/metadata/installer-config/control_js.js"
Does the latest nightly build make a difference?
The latest nightly build from 2 hours ago suffers with the same issue too. Tested on two different Arm64 machines. But I have noticed that after accidentally keeping the installer windows open overnight the button got enabled, probably after some significantly long timeout.
Hm, ok, thanks for testing.
This reproduces for me too.
same problem here, but interestingly worked on another WOA machine that I have
I wonder if WSH + JScript wouldn't serve a better base for the installer.
Just unsure if WSH works on WoA.
WoA owners could easily test that by downloading installer.hta PoC from my repo and simply double clicking it.
Description of the PoC: https://github.com/sskras/installer.hta#initial-try
Random shot in the dark, the latest nightly is built with qt 6.8.2 instead of 6.8.0.
Nope, same issue for me with the 1 hour old latest.
same issue on Lenovo YOGA Snapdragon(R) X Elite - X1E78100 - Qualcomm(R) Oryon(TM) CPU 3.42 GHz win 11 home edition
Does the .sfx.exe file work from release page https://github.com/msys2/msys2-installer/releases ? After executing it, msys2 will be installed in same directory where it is placed.
I am having the exact same issue here; my installer looks exactly the same when using arm64 Windows.
Does the .sfx.exe file work from release page https://github.com/msys2/msys2-installer/releases ? After executing it, msys2 will be installed in same directory where it is placed.
@Biswa96 Yes the self-extracting executable works, and so would extracting the MSYS2 .zip yourself. But of course, that isn't as customizable when it comes to selecting components and shortcuts as the installer, so it would certainly be nice if this issue were resolved.
.\msys2-x86_64-20250221.exe -d -d -d
IFW Version: 4.8.1, built with Qt 6.8.0.
Build date: Feb 2 2025
Installer Framework SHA1: 12eab2bbe525fd6533b498f09f6a30c64c75d8b1
[0] Arguments: C:\Users\<redacted>\Downloads\msys2-x86_64-20250221.exe, -d, -d, -d
[0] Resource tree:
[0] :/qt
[0] :/qt/etc
[0] :/qt/etc/qt.conf
[0] :/uninstall.png
[1] :/installer.png
[1] :/installer.ico
[1] :/keepinstalled.png
[1] :/installer.icns
[1] :/install.png
[1] :/keepuninstalled.png
[2] :/qpdf
[2] :/qpdf/sRGB2014.icc
[5] Operations sanity check succeeded.
[6] Warning: Could not load IFW translation for language "English"
[11] Using metadata cache from "C:/Users/<redacted>/AppData/Local/cache\\qt-installer-framework\\d75f1c19-3379-3717-ae8d-1404b51494a9"
[11] Found 0 cached items.
[12] Language: en-US
[1784] Fetching latest update information...
[1790] Warning: Cannot retrieve remote tree Updates.xml contains invalid content: PackageUpdate element without ReleaseDate.
some context from logging, if it helps. The last warning looks suspicious but is probably nothing
I am having a similar issue on an HP Omnibook X 14
When I run the installer from explorer by double clicking it, it hangs with a white screen like what was described in the issue, but when I run the same installer .\msys2-x86_64-20241208.exe -d -d -d from the command line, it works fine.
Funnily enough, the Ruby installer also offers to download MSYS2 for you. The graphics in that installer works fine. The installation still ultimately fails though.
I am also getting the same issue. Running Parallels on a MacBook Pro. Was able to successfully install it via the workaround.
I tried the self-extracting installer which successfully installed the files. There is another problem though. Namely, the fact that the programs, even though installed, do not work. After opening up the clang aarch64 program, it tells me that i need to run rebase all. Rebase segfaults upon launch.
The workaround using -d -d -d with the regular installer is not working for me, unless there is some step in the workaround that I'm missing. I don't know if it matters, but I used pwsh7.50 to try this. I'm on a Surface 7 Laptop.
Has anyone reported this to Qt or qt-installer-framework (if they're not the same)? I'd try to debug but I'm not interested in learning the internals of Qt to do so.
I tried the self-extracting installer which successfully installed the files. There is another problem though. Namely, the fact that the programs, even though installed, do not work. After opening up the clang aarch64 program, it tells me that i need to run rebase all. Rebase segfaults upon launch.
I have not seen that. You should not need rebase for x86_64 binaries. Do you perhaps have mandatory ASLR policies? https://gitforwindows.org/why-git-for-windows-does-not-work-with-mandatory-address-space-layout-randomization.html
I tried the self-extracting installer which successfully installed the files. There is another problem though. Namely, the fact that the programs, even though installed, do not work. After opening up the clang aarch64 program, it tells me that i need to run rebase all. Rebase segfaults upon launch.
I have not seen that. You should not need rebase for x86_64 binaries. Do you perhaps have mandatory ASLR policies? https://gitforwindows.org/why-git-for-windows-does-not-work-with-mandatory-address-space-layout-randomization.html
That was it. Thanks. Clang aarch64 now works!
I'm having the same issue with an ARM64 Windows 11 VM on an M1 Mac under UTM. This used to work in the past.
A workaround is to use the sfx installer or zstd achieve and run msys2_shell.cmd after extraction:
(New-Object System.Net.WebClient).DownloadFile("https://repo.msys2.org/distrib/msys2-x86_64-latest.sfx.exe", "msys2-x86_64-latest.sfx.exe")
(New-Object System.Net.WebClient).DownloadFile("https://repo.msys2.org/distrib/msys2-x86_64-latest.sfx.exe.sig", "msys2-x86_64-latest.sfx.exe.sig")
gpg --keyserver keyserver.ubuntu.com --recv "0EBF 782C 5D53 F7E5 FB02 A667 46BD 761F 7A49 B0EC"
gpg --verify msys2-x86_64-latest.sfx.exe.sig
.\msys2-x86_64-latest.sfx.exe -y -oC:\
C:\msys64\msys2_shell.cmd -defterm -here -no-start -clangarm64
echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "C:\msys64\clangarm64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append echo "C:\msys64\clangarm64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
In GHA, you might be better served by using the msys2/setup-msys2 action. But that won't allow you to install to C:\msys64 (it expects that the GitHub images come with an msys2 install already there, but the arm64 runner doesn't: actions/partner-runner-images#88)
But that won't allow you to install to C:\msys64 (it expects that the GitHub images come with an msys2 install already there, but the arm64 runner doesn't: actions/partner-runner-images#88)
Turns out that you can trick msys2/setup-msys2 to work on windows-11-arm runners by setting location: C:\, see https://github.com/mxschmitt/action-tmate/commit/877e019b4c15232d15c3b8e4de31f91d845c69f7 for more details.
But do make sure to configure msystem: CLANGARM64, otherwise it will default to MINGW64!
I'd love a workaround for this for those of us who don't normally do Windows - I tried installing MSYS2 on windows arm just now, ran into the described issue, and I can see that there's a workaround, but my POSIX-addled brain can't quite figure it out... the entire reason I'm installing MSYS2 is so I don't have to Windows any more than necessary. :) :) :)
same issue for me. however when I installed the latest 2024-01-13 .exe, the installation success.
Looking at the qt-installer code, it seems it parses its own binary to extract the installer config (https://github.com/qtproject/installer-framework/blob/11046d6f77ed2d59b7b1cdbae52f487304ce4f42/src/libs/installer/createlocalrepositoryoperation.cpp#L312). Maybe that fails due to emulation (??).
I've created an arm64 variant of the installer here if someone can give it a try: https://github.com/msys2/msys2-installer/actions/runs/17174248764 (see installer-arm64 at the bottom)
Seems a bit of a waste offering different installers, but hey.
seems to work for me on 24h2 arm64
Looking at the qt-installer code, it seems it parses its own binary to extract the installer config (https://github.com/qtproject/installer-framework/blob/11046d6f77ed2d59b7b1cdbae52f487304ce4f42/src/libs/installer/createlocalrepositoryoperation.cpp#L312). Maybe that fails due to emulation (??).
I've created an arm64 variant of the installer here if someone can give it a try: https://github.com/msys2/msys2-installer/actions/runs/17174248764 (see installer-arm64 at the bottom)
Seems a bit of a waste offering different installers, but hey.
This worked perfectly for me on my surface pro 11, on windows 24H2 26100.4946.