VirtualBox COM获取对象失败

错误详情


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 打开运行)
VirtualBox COM获取对象失败_第1张图片

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

  VirtualBox COM获取对象失败_第2张图片
 
3.点击InprocServer32在右侧面板中对默认值(和 InprocServer32 )进行内容修改

修改前:(修改时可以通过点击右键进行选项选择也可以直接双击名称进行修改)
VirtualBox COM获取对象失败_第3张图片

 修改后:
VirtualBox COM获取对象失败_第4张图片

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

4.点击开启VirtualBox即可成功

VirtualBox COM获取对象失败_第5张图片
 

你可能感兴趣的:(Linux)