问题背景:
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