錯誤:80040154 沒有注冊類 的問題


  這其實是個COM組件未注冊的問題,雖然以前處理過,不過那是在明確知道哪些COM組件需要注冊的情況下,當你不知道或者不熟悉或者忘記的時候,可以嘗試用這種方法去解決。

  問題發生在一次業務系統從舊服務器遷移到新服務器的過程中,系統中有和其它廠家做的一個登錄驗證交互接口,接口的年份有一些歷史了,里面有一些需要注冊的COM組件也很正常。所以,當系統部署后,運行中出現這個問題時:


第一反應就是到系統盤的 system32 目錄下去注冊下廠家提供的組件,例如:regsvr32 dsccrypt.dll ;但是把所有能注冊的DLL 都注冊過之后,居然還是報這個錯誤。
  唉,頓時好心塞。還好,上面截圖的錯誤提示中,提供了未注冊的DLL組件的clsid值,似乎有一絲希望了。我們把這個clsid值復制下來,到系統能運行正常的舊服務器上的注冊表中搜一搜:



看到沒?還真有,InprocServer32中還有這個DLL的物理路徑。什么鬼!原來是放在個毫不起眼的以為沒啥用的目錄下。
然后把這個DLL文件復制到新服務器上,如果遷移時已經復制過去了,就找到這個路經下的文件,重新注冊下:regsvr32 WebPro.dll ,問題就解決了。。。

  另外,如果是64位的操作系統要注冊32位的COM組件,需到 C:\windows\sysWOW64\regsvr32.exe 目錄下,因為默認的C:\windows\system32\regsvr32.exe 是64位版的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM