總結com組件問題,隨筆記錄


一、從 IClassFactory 為 CLSID 為 {00024500-0000-0000-C000-000000000046} 的 COM 組件創建實例失敗,原因是出現以下錯誤:80010001。

解決方法:

安裝wps2016可以解決。

二、檢索 COM 類工廠中 CLSID 為 {0DB6B315-0A8D-40EB-8F21-3408162AF3F5} 的組件時失敗,原因是出現以下錯誤: 80040154。

解決方法:

①win+R,再輸入regedit,打開注冊表,搜索CLSID  {0DB6B315-0A8D-40EB-8F21-3408162AF3F5},打開並找到InprocServer32(如果搜索到的第一個沒有InprocServer32文件夾,則繼續搜索),根據信息找到該ID對應的DLL(psubs.dll)。

②開始=>搜索cmd=>右鍵管理員方式運行,輸入cd C:\Windows\SysWOW64回車,輸入regsvr32 C:\Windows\SysWOW64\psubs.dll,回車顯示注冊成功。

  無CLSID的異常【"沒有注冊類 (異常來自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))" 】。

解決方法:

因為不確定哪個未注冊,debug找到出錯代碼位置,自己判斷是哪個dll,根據上述注冊一遍。

注:如果注冊表內搜索不到出錯的CLSID,只能debug找到錯誤地點,自行判斷哪個dll出錯。

三、無法將類型為“Excel.ApplicationClass”的 COM 對象強制轉換為接口類型“Excel._Application”。此操作失敗的原因是對 IID 為“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 組件調用 QueryInterface 因以下錯誤而失敗: 庫沒有注冊。 (異常來自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。

解決方法:

這個錯誤一般是安裝office才出現的,此時,只需安裝wps,安裝wps是為了注冊COM組件。安裝成功后,異常不在發生,卸載WPS。

注:此時可以卸載WPS,要從控制面板卸載,不要使用360卸載,360會把剛注冊的組件清除,異常會再次出現。

四、異常來自 HRESULT:0x800AC472。

解決方法:

開始----運行----粘貼  excel.exe /regserver,回車。

五、遠程過程調用失敗。 (異常來自 HRESULT:0x800706BE)。

解決方法:

①win+R,輸入dcomcnfg.exe,點擊組件服務,選中我的電腦右鍵屬性。

②找到COM安全=>編輯默認值。

③把所有用戶的權限全部都選允許。

六、檢索 COM 類工廠中 CLSID 為 {000208D5-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 80070005。

解決方法:

①win+R 輸入dcomcnfg.exe,打開組件服務,依次打開找到DCOM配置。

②找到DCOM配置下的Microsoft Excel Application,右鍵屬性。

③點擊安全,啟動和激活權限、訪問權限選擇自定義,並選擇編輯。

④添加用戶NETWORK SERVICE和IIS_IUSRS,如下圖所示。

⑤點擊標識,選擇啟動用戶,確定。(有時選擇啟動用戶還會出現異常,那就選擇交互式用戶,具體看情況)

七、服務器出現意外情況。(異常來自 HRESULT:0x80010105(RPC_E_SERVERFAULT))。

 

解決方案:

將Excel中的PDF COM加載去掉就可以了。


免責聲明!

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



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