VirtualBox 启动时提示“获取 VirtualBox COM 对象失败”的解决
<https://www.cnblogs.com/imzhi/p/solution-to-the-failed-to-get-the-virtualbox-com-object.html>

昨天给电脑打了一堆补丁和更新,今天启动 VirtualBox 的时候提示 “获取 VirtualBox COM 对象失败”,好在百度到了 CSDN 上的
一篇文章 <http://blog.csdn.net/zp_00000/article/details/70207445>解决了这个问题,有惊无险,有惊无险!

提示 “获取 VirtualBox COM 对象失败” 的错误详情:

获取 VirtualBox COM 对象失败
应用程序将被中断

明细
Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, CLSID_VirtualBox w/
IUnknown works.
PSDispatch looks broken by some installer featuring the broken oleaut32.msm
module as a component.
See also https://support.microsoft.com/en-us/kb/316911 .


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

错误截图如下:



试了下命令行来操作 VirtualBox,仍旧有相同的错误提示:



下面是解决方法:

修改注册表的如下两项:
HKEY_CLASSES_ROOT\CLSID\{00020420-0000-0000-C000-000000000046}\InprocServer32
HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-000000000046}\InprocServer32

将它们的默认值都改成:
C:\Windows\system32\oleaut32.dll

如图所示:





此时再打开 VirtualBox,发现可以正常启动了。



PS:如果打开 VirtualBox 后,发现无法启动里面的虚拟机,可以尝试重启下电脑。