發表日期 2003/02/19
更新日期 2005/08/04
WinDoctor檢查結果:無法存取必要檔案 mscoree.dll
適用範圍: Windows XP
問題:
我是使用 Windows XP Professional 作業系統。
我用Norton System Works 2002中的 WinDoctor
檢查後,掃描發現發現遺失檔案:
"C:\Program Files\Common Files\InstallShield\Professional\
RunTime\0701\Intel32\DotNetInstaller.exe"
無法存取必要的檔案, "mscoree.dll。
Norton 本身無法修復這個問題,請問該如何處理?又該如何重新安裝遺失的檔案?謝謝!
回答:
Norton WinDoctor
所回報的這個訊息可以不用理他,你的電腦一切正常,原因是:
InstallShield 安裝程式實際上用不到
DotNetInstaller.exe,沒有安裝 .NET Framework 那麼
DotNetInstaller.exe 是沒有任何用處的。如果你有安裝 .NET
Framework,就不會有這個訊息(該有的檔案都會裝進來)。
但是,請了解,不要因為要解決這個訊息就去安裝 .NET
Framework,因為沒有必要。你可能在某些網站討論區上發現有些文章的解決方法是要你去安裝 .NET
Framework,這是不對的。
DotNetInstaller.exe 是屬於 InstallShieid
安裝程式的引擎(engine)之一,是給 .NET 應用程式安裝使用,當安裝 .NET
Assemblies(已編譯的組件)時,DotNetInstaller.exe 才有作用。
由於InstallShell 他預設就是把 DotNetInstaller.exe
列為他自己必要的 engine 之一(很奇怪的做法,事實上不是必須),所以當 WinDoctor 檢查到之後,就會依照
DotNetInstaller.exe 的需求去檢查所有必要的檔案,但是因為沒有安裝 .NET
Framework,當然就不可能找到這些檔案了。
Norton System Works 中的 WinDoctor程式
認為:DotNetInstaller.exe 他這個程式非得要 .NET Framework
才會正常(事實上不是如此,其實不需要),所以就會告訴你 DotNetInstaller.exe 沒辦法存取
Mscoree.dll(Microsoft.NET Runtime Execution Engine)
其實這類工具軟體都只是忠實地報告他所測試的結果,但是,軟體並沒有「智慧」去判斷任何一個程式行為模式的真假,我們也不能怪
WinDoctor 檢測錯誤。
以這個例子來說,對 WinDoctor
而言,並不算判斷錯誤,DotNetInstaller.exe 說他要.NET
Framework 的 Engine,WinDoctor 就依照他的要求,一一去檢查。
然而 WinDoctor 卻不知道:InstallShield 要求
DotNetInstaller.exe 的這個舉動,只能算是一種聊勝於無的要求動作,因為有或沒有 Mscoree.dll
都無所謂,一點都不影響 InstallShield 的功能。
補記:
順便一題,Norton 也會誤判Gapi32.dll,如果 WinDoctor 同樣回報無法存取
Gapi32.dll,一樣不必理會。
意見或問題請寄至:

版權所有,本站文、圖未經授權,請勿任意轉載與節錄,作者:車成斌

|