加载MSCOMCTL.OCX错误处理的几个关键


一、工程文件说明,两个版本
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX
有的系统是2.0 ,如6.1.97.82以下的均是
有的系统是2.1, 因为2.1的能打开2.0的,但2.0的打不开2.1的。
版本号是6.1.98.34生成的是2.1
把office2003卸载了装office2007,生成的还是2.0

二、注册表
HKEY_CLASSES_ROOTTypeLib{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}
主键下{831FDD16-0C5C-11D2-A9FC-0000F8754DA1} 有2.0 和2.1两个版本,冲突之源

注册方法
Regsvr32 /u mscomctl.OCX
Regsvr32 mscomctl.OCX

三、VB软件
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftVisual Basic6.0下面
看是否有

{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0默认子项。= x:WINDOWSsystem32mscomctl.oca

{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1默认子项=x:WINdowssystem32MSCOMCTL.oca

 四、累积更新

Microsoft Visual Basic 6.0 Service Pack 6 累积更新 https://www.microsoft.com/zh-cn/download/details.aspx?id=7030

累积更新VB60SP6-KB2708437-x86-CHS将生成2.1版本的MsComCtl文件

下载2.1版本MsComCtl 地址

原文地址:https://www.cnblogs.com/whchensir/p/5707515.html