2009年10月23日 星期五

.Net Framework 出現的0x8007007E 問題排解

最近在幫客戶安裝系統的時候, 發生了一個很詭異的問題-「找不到指定的模組」

在此先說明一下系統的環境:
OS: Windows 2003 Server R2 SP2 Standard Ed. x64
Software: Office 2007、Visual Studio 2008 Profession Edition、.Net Framework 3.5

原先看到找不到指定的模組是因為 assembly 沒有辦法載入,所以找了一下關於.Net Framework dll載入機制的文章
以為只要將此次需要使用的 third party component 新增到GAC就可以,
但是結果還是一樣...囧

這個時候真的沒啥頭緒了!後來又再次針對 「0x8007007E」這個關鍵字查詢,
找到了一篇有用的文章,詳閱點我

這篇文章說明了系統環境因為第三方元件有使用到VC++,但是沒有辦法載入它的vc++的dll,
所以找了一下檔案相依性的問題,發現了一個好用的工具-Dependency Walker
這個工具在點選了第三元件之後,果然將找不到的模組一一列出。
最後這個謎題就此解開了....