我正在處理的項目有一堆COM DLL。我如何看到在Windows中註冊的COM DLL的版本
有一個安裝腳本會自動註冊這些DLL以供其他項目使用。最近在代碼中有一個錯誤,導致程序莫名其妙地關閉。 Bisect沒有解決問題(舊代碼已知工作現在困擾相同的症狀)
我懷疑卸載腳本沒有註銷一切,或工作環境類似的問題,我沒有備用的清潔機器來測試我的理論。有什麼方法可以查看Windows中註冊的DLL,比如它們的名稱,版本,GUID等?
我正在處理的項目有一堆COM DLL。我如何看到在Windows中註冊的COM DLL的版本
有一個安裝腳本會自動註冊這些DLL以供其他項目使用。最近在代碼中有一個錯誤,導致程序莫名其妙地關閉。 Bisect沒有解決問題(舊代碼已知工作現在困擾相同的症狀)
我懷疑卸載腳本沒有註銷一切,或工作環境類似的問題,我沒有備用的清潔機器來測試我的理論。有什麼方法可以查看Windows中註冊的DLL,比如它們的名稱,版本,GUID等?
您可以使用一個名爲OleView的工具,它隨Windows SDK一起提供。例如。它可能是在 「計劃Files \ Microsoft的SDK \的Windows \ v6.0A \ BIN」
或者,你可以簡單的外觀爲您的班級在HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes下注冊表GUID。
通過regedit搜索解決了這個問題。謝謝! –
你有權訪問該腳本嗎? 檢查腳本並查看哪些DLL已註冊,以及從哪個路徑(例如RegSvr32 ... Name.DLL)註冊之前應執行取消註冊(RegSvr32 -u)。 通過DLL名稱檢查路徑HKEY_CLASSES_ROOT \ CLSID \中的註冊表編輯器,然後查看路徑是否已正確註冊,您將找到CLSID並能夠通過CLSID搜索整個註冊表以查看使用版本,線程模型等... – ALZ
我沒有腳本(反正不是可讀的形式),但是註冊表技巧起作用。謝謝! –
進入註冊表中指定路徑的物理位置 - 並檢查DLL文件屬性的版本。如果你有另外一個版本,並且想要使用它註冊不存在(RegSvr32 -u [DLL Path]),並替換DLL文件並重新註冊它(RegSvr32 [DLL Path]) – ALZ