解決ActiveX Control異常:"沒有註冊類(異常來自 HRESULT:0x80040154(REGDB_E_CLASSNOTREG))"

問題背景:

1.我們的程序是用winform調用unity web player 插件來作爲播放器在客戶端播放動畫文件的.

2.播放器是由我們的客戶端程序調用的

3.客戶端程序默認是以管理員身份啓動的.

 

測試了下此異常復現的幾種場景:

復現條件一:

1.win10x64 系統(所有用戶)

2.右鍵以管理員身份運行 WindowsFormWebPlayerTest.exe  加載所有實驗都報錯

 

復現條件二:

1.win8.1x64 系統非Administrator用戶;但屬於Administrators組

2.右鍵以管理員身份運行 WindowsFormWebPlayerTest.exe  加載所有實驗都報錯

 

復現條件三:

32位win7(非Administrator用戶)上報錯

解決辦法一:(此情況可以通過卸載已安裝的unity WebPlayer 插件後,安裝完整版插件解

決:http://webplayer.unity3d.com/download_webplayer-3.x/UnityWebPlayerFull.exe)

 

如果按照解決辦法一操作後出現錯誤:“a newer version of unity web player is required but the auto-update failed“

請參照我這篇隨筆解決:http://www.cnblogs.com/stepbysteplive/p/5849348.html

 

解決辦法二:直接使用Administrator帳戶.

 

總結的解決方案:

首先試試把項目的目標平臺分別 改成x86  和 x64  或  AnyCpu ;我的是 X86

1.以普通用戶權限啓動播放器,這裏我用的是 Explorer.exe 來啓動的 問題得以解決.

至於播放器 爲什麼以管理員啓動會報異常暫時還不得知,請知道的朋友指教。

 

2.這個方案是後來發現的,目前測試沒發現問題:

選擇調用ActiveX控件的項目->引用->在引用的ActiveX dll文件上右鍵屬性.(我引用的是AxInterop.UnityWebPlayerAXLib)

->獨立屬性設置爲True



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章