最近公司處理數據,原來的小工具依賴的是ArcGis10.1類庫,其它版本的ArcGis無法正常使用,被迫卸載新裝的10.5重裝安裝10.1,但是安裝過程中一直報Error1904.Module "C:\Program Files (x86)\Common Files\Tom Sawyer Software\8.0.0\tsx9service80udep32.ocx"faild toregist.重裝、重啟、删注冊表、超級管理員方式運行等多種方式都試了一遍,問題依舊。
Error 1904錯誤
網上的解決辦法都試了一遍,沒有找到有效的解決辦法,于是耐心分析一下問題出在哪裡吧。安裝過程中忽略錯誤繼續安裝,同時記錄了一下,總共是有4個OCX注冊時報錯,根據報錯找到對應的OCX文件,手動注冊一下,發現還是報錯,這個錯誤有些眼熟,應該是缺少類庫,但是提示并不明确,提示中提到的sxstrace.exe工具試了一下不太會用。
手動注冊OCX文件依舊報錯
想起來前段時間同事推薦的一款工具Depends(貌似是微軟出的一款小工具),可以将OCX或DLL文件拖到該工具下,查看類庫依賴。
利用depends工具進行類庫依賴檢查
根據下方看到的黃色問号的dll文件,判斷應該是缺少該類庫,在電腦中或者網絡搜索該文件進行下載,簡單粗暴放到OCX文件同級目錄或者System32文件夾下。
關鍵步驟:
還是報錯,繼續找原因,查看程序事件日志,找到最近執行注冊的OCX事件對應的錯誤日志,分析一下,使用的類庫和MAINFEST文件中定義的版本不一緻,然後修改MAINFEST中對應的版本号,重新注冊OCX,成功。
修改MAINFEST引用的版本号,注冊成功
哈哈,搞定,應用程序正常打開。
搞定,程序正常打開
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!