换了一台新电脑,出厂就是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运行命令还是不行。

image-20220314213201215


经过不断踩坑,终于找到了这篇靠谱的文章https://thegeekpage.com/mscomctl-ocx/ 完美解决了问题。

为了方便大家,我把这篇文章用中文复述一下。

MSCOMCTL.OCX(一个 ActiveX 控件文件/32 位控件)是过时的 Visual Basic 6.0 的一部分,安装方法如下:

第一步:正确下载MSCOMCTL.OCX文件

从微软官网,下载Microsoft Visual Basic 6.0 Common Controls。使用压缩工具单独解压MSCOMCTL.OCX文件。

image-20220314213643109

鉴于本文读者可能非计算机专业人员,我已经把文件提取好了,点击此链接直接下载。

第2步:将下载的文件复制C盘中

案例 1 - 如果您的计算机是 64 位,请转到下面给出的位置并粘贴它。

1
C:\Windows\SysWOW64

案例 2 – 如果您的计算机是 32 位的 转到下面的位置并粘贴它。

1
C:\Windows\System32

如果您不知道计算机的型号,就在两个文件加都复制一份。

第3步:注册并安装

右键桌面左下角开始按钮,选择Windows终端(管理员),或者在windows任务栏中的搜索框中输入cmd,右键选择以管理员身份运行

image-20220314214259455 image-20220314214424379

在打开的窗口中输入 regsvr32 mscomctl.ocx,大功告成。

image-20220314220336198

软件可以正常使用了。

image-20220314220406765

希望可以帮助到您。