VirtualBox COM获取对象失败

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zp_00000/article/details/70207445
错误详情


1. 先来看看错误详情
  1. 获取 VirtualBox COM 对象失败.
  2. 应用程序将被中断.
  3. Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, CLSID_VirtualBox w/ IUnknown works.
  4. PSDispatch looks broken by some installer featuring the broken oleaut32.msm module as a component.
  5. See also https://support.microsoft.com/en-us/kb/316911 .
  6. 返回 代码:E_INVALIDARG (0x80070057)
  7. 组件:VirtualBoxClientWrap
  8. 界面:IVirtualBoxClient {d2937a8e-cb8d-4382-90ba-b7da78a74573}
通过错误描述可以看出oleaut32模块加载的时候发生中断。

2. VirtualBox版本
  1. Version 5.1.18 Edition

解决

解决方法:

1. 修改注册表中如下两项:
  1. HKEY_CLASSES_ROOT\CLSID\{00020420-0000-0000-C000-000000000046}
  2. HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-000000000046}

2. 分别修改上面两项中的 InprocServer32的默认值为
  1. C:\Windows\system32\oleaut32.dll

具体操作

1.打开注册表(window + R 打开运行)


2.找到注册表中的需要修改的两项

 
 
3.点击InprocServer32在右侧面板中对默认值(和InprocServer32)进行内容修改

修改前:(修改时可以通过点击右键进行选项选择也可以直接双击名称进行修改)


 修改后:


注意:老版本的VirtualBox只有默认或者InprocServer32项,将两者的内容同时修改为
  1. C:\Windows\system32\oleaut32.dll

4.点击开启VirtualBox即可成功


 

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