易語言 (E Language) 編譯程式在未安裝易語言的電腦執行時,常跳出 `Not found the kernel library or the kernel library is invalid` (找不到核心庫或核心庫無效)。本文深入剖析兩大成因與對應解法。
易語言核心支援庫,主管最基本操作:API 呼叫、Win32 元件、基礎邏輯。編譯時有兩種模式:
現象: 目標電腦 (WRC) 未安裝易語言,且 EXE 同目錄無 Kernel.fne。
解決:
現象: 獨立編譯 EXE 經過加殼 (UPX/ASPack/VMProtect 等) 或脫殼、修改,破壞易語言原體結構 (EP 區段、資源區、區段對齊),導致釋放出的 Kernel.fne 損壞/驗證失效。
解決:
現象: `%TEMP%` 目錄不可寫、磁碟滿、殺毒軟體誤判釋出的 Kernel.fne 為惡意碼並隔離。
解決:
報錯 → 檢查是否獨立編譯?
├─ 否 → 複製 Kernel.fne 至 EXE 目錄 / 安裝運行環境 → 解決
└─ 是 → 檢查 %TEMP% 是否有 Kernel.fne 殘留?
├─ 有 → 刪除殘留重試 / 檢查殺毒攔截 → 解決
└─ 無 → 疑似加殼破壞 → 嘗試 EcE 修復 (≤4.05) / 重新編譯不加殼 → 解決