問題背景:
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
這個方案最簡單,希望能幫助有需要的人.