Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

PIMELauncher.exe fails with 0xc000007b on Windows ARM64 without the x86 VC++ runtime

Aperta
#983 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python, rust
Ambito
backend, desktop

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.dll on PATH

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

  1. Use a fresh Windows 11 ARM64 machine with Python for ARM64 installed.
  2. Install PIME (silent or interactive).
  3. Sign in, or start PIMELauncher.exe: the error dialog appears, and keys typed in Notepad with a PIME input method come through unconverted.
  4. Install https://aka.ms/vs/17/release/vc_redist.x86.exe. The launcher now starts (the /log-file log 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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di EasyIME/PIME

Tutte le issue di EasyIME/PIME

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.