PIMELauncher.exe fails with 0xc000007b on Windows ARM64 without the x86 VC++ runtime
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 43/100
Direzione di ricerca
Inspect the Windows ARM64 installer and the build configuration for PIMELauncher.exe, which the report identifies as an x86 Rust executable linked to the dynamic MSVC runtime. First trace how the installer selects and launches VC++ redistributables on ARM64; compare that with the suggested static CRT or native ARM64 launcher options. Done means the launcher starts on a fresh ARM64 install and silent installation completes without an interactive runtime prompt.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
On Windows 11 ARM64, PIMELauncher.exe from the 2.0 builds fails to start with 0xc000007b ("The application was unable to start correctly") unless the x86 VC++ runtime is installed. The installer installs the ARM64 (and x64) runtime, but not the x86 one. As a result the backend never starts, and every PIME input method types plain text: the TSF DLL loads in the app but cannot reach the launcher.
Environment
- Windows 11 Enterprise ARM64, build 26100 (a QEMU/KVM VM)
- PIME AppVeyor master build 656 (Oct 21, ARM64X installer); also seen with 2.0.0-beta3
- Python 3.13 ARM64 installed, which puts an ARM64
vcruntime140.dllonPATH
Cause
PIMELauncher.exe is x86 (PE machine 0x14c) and imports VCRUNTIME140.dll dynamically. Rust's MSVC targets link the CRT dynamically unless built with +crt-static. With no x86 runtime in SysWOW64, the loader keeps searching PATH, finds the ARM64 vcruntime140.dll (here from Python), and fails with STATUS_INVALID_IMAGE_FORMAT. Without such a DLL on PATH, it would fail with a "missing DLL" error instead.
Reproduce
- Use a fresh Windows 11 ARM64 machine with Python for ARM64 installed.
- Install PIME (silent or interactive).
- Sign in, or start
PIMELauncher.exe: the error dialog appears, and keys typed in Notepad with a PIME input method come through unconverted. - Install
https://aka.ms/vs/17/release/vc_redist.x86.exe. The launcher now starts (the/log-filelog shows "Watchdog started… Starting PIMELauncher2 Worker on pipe …"), and input methods work.
Possible fixes: build the launcher with a static CRT (RUSTFLAGS="-C target-feature=+crt-static"), install the x86 runtime on ARM64 as well, or ship a native ARM64 launcher.
Related: with /S, the installer still shows the "requires the VC++ Redistributable" message box, and runs the x64 runtime installer interactively on ARM64, so unattended installs stop there. Preinstalling the runtimes with /install /quiet avoids it.
Found while testing an input method built on PIME's Python backend (Claudish), with automated typing tests in a Windows-on-ARM VM. Thanks for the recent ARM64 work; with the x86 runtime installed, the master build works end to end in Notepad.
- Lingua principale
- C++
- Stelle
- 1.5k
- Fork
- 244
- Merge medio
- 19h 3m
- PR unite (30g)
- 36
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di EasyIME/PIME
-
installer: remove obsolete ensureVCRedist check and VC++ redistributable downloadForse già presa @dannyward630 l’ha presa 4 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
添加"麼"輕聲 注音˙ㄇㄜ 順序1Apertachewing enhancement upstream
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
"麼" 建議加上 ai7Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
蝦米輸入法,使用 Ctrl + / 問題Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 60/100
EasyIME/PIME#753 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di EasyIME/PIME
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
OpenSpace/OpenSpace#4353 · 1 commento ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
macOS: a double-click on a notarized altairsim is refused, and the docs give only the offline caseForse già presa @anhaoXie l’ha presa oggi. Apertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
mutationpp/Mutationpp#337 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bulletphysics/bullet3#4819 ·