解决Mscomctl.ocx缺失的问题
换了一台新电脑,出厂就是win11系统。之前工作使用到一款叫做截面特性.exe
软件,在win7上是正常使用的,到了新电脑上无法运行。我开始以为是windows10/11的兼容性问题。使用兼容模式运行无果。
Component ‘Mscomctl.ocx’ or one of its dependencies not correctly registered: a file is missing or invalid.
分析报错信息就是Mscomctl.ocx这个文件缺失,网上一搜这个是Windows公用的ActiveX插件控制模块。然而给出的下载连接都是xx软件园,xx下载站,这种系统文件实在是不敢贸然下载来路不明的版本。
在本机搜索该文件,发现C:\Program Files\Microsoft Office\root\vfs\System目录下有这个文件,遂复制过来按照教程注册安装。结果在最后一步又出现以下错误
模块”Mscomctl.ocx”已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005。
网上一搜说是权限问题,管理员权限运行命令就好了。可我用system权限(错误示范)的shell运行命令还是不行。
经过不断踩坑,终于找到了这篇靠谱的文章https://thegeekpage.com/mscomctl-ocx/ 完美解决了问题。
为了方便大家,我把这篇文章用中文复述一下。
MSCOMCTL.OCX(一个 ActiveX 控件文件/32 位控件)是过时的 Visual Basic 6.0 的一部分,安装方法如下:
第一步:正确下载MSCOMCTL.OCX文件
从微软官网,下载Microsoft Visual Basic 6.0 Common Controls。使用压缩工具单独解压MSCOMCTL.OCX文件。
鉴于本文读者可能非计算机专业人员,我已经把文件提取好了,点击此链接直接下载。
第2步:将下载的文件复制C盘中:
案例 1 - 如果您的计算机是 64 位,请转到下面给出的位置并粘贴它。
1 | C:\Windows\SysWOW64 |
案例 2 – 如果您的计算机是 32 位的 转到下面的位置并粘贴它。
1 | C:\Windows\System32 |
如果您不知道计算机的型号,就在两个文件加都复制一份。
第3步:注册并安装
右键桌面左下角开始按钮,选择Windows终端(管理员),或者在windows任务栏中的搜索框中输入cmd,右键选择以管理员身份运行。
在打开的窗口中输入 regsvr32 mscomctl.ocx,大功告成。
软件可以正常使用了。
希望可以帮助到您。