2010年4月24日 星期六

常見問題解決篇 - 切換輸入法時導致應用程序崩潰的原因

此前一直困擾大家的切換輸入法導致程序崩潰的問題, 即便在最新的 nLite 1.0 Beta 7 內測版中也存在, 不過我已經把相關信息發給 nuhi 了, 相信 nLite 1.0 Beta 7 正式發佈的時候可以解決這個問題. 到時, 精簡出的簡體中文系統可能會大 10 M左右, 因此我還請求 nuhi 把輸入法從語言中分離出來. 同時, 在繁體中文系統中也有類似的問題, 它們那個是由新注音, 新倉頡輸入法造成的.

首 先, 這是因為 nLite 會誤刪一些微軟拼音 3.0 的安裝文件, 但是它的註冊表信息還殘留著. 這樣, 當你切換至微軟拼音時就會導致程序崩潰. 這些被刪掉的微軟拼音文件存在於以下文件夾中:

"WINDOWS\system32\IME\PINTLGNT"


檢 查過 nLite 的組件構成之後發現以下組件會影響微軟拼音 3.0:

多媒體 - 平板電腦:
PINTLGC.IM_
PINTLGD.IM_
PINTLGDX.IM_
PINTLGR.IM_
PINTLGS.IM_

操 作系統選項 - 輸入法編輯器:
IMSCINST.EX_
PINTLGC.IM_
PINTLGD.IM_
PINTLGDX.IM_
PINTLGI.IM_
PINTLGIX.IM_
PINTLGL.IM_
PINTLGNE.CH_
PINTLGNT.CH_
PINTLGR.IM_
PINTLGS.IM_
PINTLPHR.EX_
PMIGRATE.DL_

因 此, 想要避免這個問題可以有以下幾種處理方法:

1: 保留以上組件就不用擔心微軟拼音的問題了.

2: 強制保留微軟拼音的相關文件. 請把以下文件添加到 nLite 的保留框中.


引 用:------------>PINTLGNT.IME
PINTLPAD.HLP
PINTLPAE.HLP

PINTLPHR.EXE
PMIGRATE.DLL
IMSCINST.EXE
PINTLGC.IMD
PINTLGD.IMD
PINTLGDX.IMD
PINTLGI.IMD
PINTLGIX.IMD
PINTLGL.IMD
PINTLGNE.CHM
PINTLGNT.CHM
PINTLGR.IMD
PINTLGS.IMD

PINTLPAD.CHM
PINTLPAE.CHM

PINTLCSD.DIC
PINTLCSK.DIC
PINTLCSA.DLL
PINTLCSD.DLL

padrs804.dll
3: 推薦你乾脆徹底刪掉微軟拼音 3.0 得了, 因為它太大了, 浪費空間. 首先, 請將以上文件添加到 nLite 的移除框中. 然後就得手動清理微軟殘留的註冊表信息了.

Intl.inf

引 用:------------>HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","Layout File",0x00000002,"kbdus.dll"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","Layout Text",0x00000002,%KLT_91%
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","Layout Display Name",0x00000002,"@%SystemRoot%\system32\input.dll,-5091"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","IME File",0x00000002,"pintlgnt.ime"
HKLM,"Software\Microsoft\Windows\Html Help","PINTLGNE.CHM",,"%11%\IME\PINTLGNT"
HKLM,"Software\Microsoft\Windows\Html Help","PINTLGNT.CHM",,"%11%\IME\PINTLGNT"
HKLM,"Software\Microsoft\Windows\Html Help","PINTLPAD.CHM",,"%18%"
HKLM,"Software\Microsoft\Windows\Html Help","PINTLPAE.CHM",,"%18%"
HKLM,"Software\Microsoft\Windows\Help","PINTLPAD.HLP",,"%11%"
HKLM,"Software\Microsoft\Windows\Help","PINTLPAE.HLP",,"%11%"
HKLM,"Software\Microsoft\Windows\Help","IMEPADEN.HLP",,"%10%\IME\SHARED"
HKLM,"Software\Microsoft\Windows\CurrentVersion\IntlRun","CHS(%11%)",,"%11%\IME\PINTLGNT\IMSCINST.Exe"

HiveSys.inf

引 用:------------>HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","Layout File",0x00000000,"kbdus.dll"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","Layout Text",0x00000000,"%KLT_91%"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","IME File",0x00000000,"pintlgnt.ime"

沒有留言:

張貼留言