VirtualBox 获取COM对象失败的解决办法

转自博客:http://blog.csdn.net/android_mnbvcxz/article/details/53995572

个人感脚这个方法有缺陷,每次修改完注册表过一会,浏览器就联系不上代理服务器了。必须要把注册表改回来才能继续上网。差不多是一个缓兵之计吧。。。虽然确实能解决我的这种问题。。


一、问题

1、将Genymotion和VirtualBox安装好之后,并且已经下载完了virtual device;
2、但是在运行虚拟机的时候却弹出了错误提示:虚拟机电脑控制台——严重错误。
如图:
这里写图片描述

错误信息:

获取VirtualBox COM对象失败
应用程序将被中断
明细(D)
Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, but CLSID_VirtualBox w/ IUnknown works.
PSDispatch looks fine. Weird.

返回代码: E_NOINTERFACE (0x80004002)
组件: VirtualBoxClientWrap
界面: IVirtualBoxClient {d2937a8e-cb8d-4382-90ba-b7da78a74573}

二、解决方法

经过多次上网查找,本人的解决方法为修改相关注册表里面的信息,步骤如下:
1、在电脑右下角“开始”菜单中,点击“运行”。如下图:
这里写图片描述

2、输入“regedit”,即可打开“注册表编辑器”。如下图:
这里写图片描述

3、打开“注册表编辑器”后,分别找到一下两个注册表,并按照下面的方法进行修改:
①注册表一:
HKEY_CLASSES_ROOT\CLSID{00020420-0000-0000-C000-000000000046}
InprocServer32 修改为C:\Windows\system32\oleaut32.dll
②注册表二:
HKEY_CLASSES_ROOT\CLSID{00020424-0000-0000-C000-000000000046}
InprocServer32 修改为C:\Windows\system32\oleaut32.dll

3.1、修改注册表示例:
①、在注册表中找到HKEY_CLASSES_ROOT\CLSID{00020420-0000-0000-C000-000000000046}\InprocServer32。如图:
这里写图片描述
②、选择“默认”,点击鼠标右键弹出菜单,然后点击“修改(M)”。如图:
这里写图片描述
③、将数值数据一栏中原来的内容修改成“C:\Windows\system32\oleaut32.dll”。如图:
这里写图片描述
④、按照以上三步,将第二个注册表“HKEY_CLASSES_ROOT\CLSID{00020424-0000-0000-C000-000000000046}\InprocServer32 ”中的默认数值修改为“C:\Windows\system32\oleaut32.dl”后,就可以重启VirtualBox了,试试可行。


没有更多推荐了,返回首页