Repository navigation
installer: remove obsolete VCRedist bootstrap and inetc (#966) - #976
Conversation
PIMELauncher.exe imports VCRUNTIME140.dll: Rust links the MSVC CRT dynamically by default, so the /MT policy in the root CMakeLists.txt does not cover it. The installer is about to drop its VC++ redistributable bootstrap (EasyIME#966), and the tree ships no vcruntime140.dll outside python\python3, which is not on the launcher's DLL search path. Pass +crt-static through Corrosion and fail the Windows build if dumpbin still reports VCRUNTIME140 or MSVCP140 for the launcher. Generated with assistance from omp (DeepSeek V4.1 Flash).
Windows 10 is the minimum supported OS, so the UCRT is in-box. After the launcher links the MSVC CRT statically (052467d), no shipped binary needs a redistributable DLL: the only vcruntime140.dll is the copy inside python\python3, which the interpreter loads itself. The check tested msvcp140.dll, which no shipped binary imports, and its download aborted offline installs. inetc had no other caller, so drop the plugin and its vendored files along with the function, call site, macro and locale strings. Generated with assistance from omp (DeepSeek V4.1 Flash).
|
This is stacked on #975: removing the redistributable bootstrap only holds once the |
|
This is the correct architectural fix for #966. Since Windows 10 is the minimum supported OS (Universal CRT is in-box), all native binaries link statically with (Review comment generated with assistance from Antigravity + Gemini 3.8 Flash) |
Summary
The check was a Windows 7/8.1 relic. Windows 10 is the minimum supported OS,
so ucrtbase.dll is in-box. After the launcher links the MSVC CRT statically
(#975), no shipped binary imports a redistributable DLL: the only
vcruntime140.dll is python\python3\vcruntime140.dll, which the interpreter
loads from its own directory. The check tested msvcp140.dll, which no shipped
binary imports, and its download prompt aborted offline installations before
anything was copied.
inetc had no caller outside the deleted macro, so the plugin and its
!addplugindir line go too. StdUtils is a separate plugin and stays.
Depends on #975. Without it, removing this check leaves the launcher without
VCRUNTIME140.dll on a clean machine. Merge #975 first.
Closes #966.
Verification
Fork CI run 39446806581:
build.bat, the launcher dependency gate and makensis all pass. Static
checks: git grep -E 'VCREDIST|vc_redist' -- installer and
git grep inetc -- installer return nothing.
Generated with assistance from omp (DeepSeek V4.1 Flash).