自定义VB程序及全量依赖迁移至新Windows PC的故障求助
错误根因说明
你给出的CLSID存在输入笔误,正确ID为{00000010-0000-0010-8000-00AA006D2EA4},对应32位版本的Microsoft ActiveX Data Objects (ADO) 数据库访问组件。Windows 10 x64系统默认未注册32位版本的该组件,且你之前注册COM组件时大概率调用了系统默认的64位regsvr32工具,导致32位VB程序无法识别到对应组件。
可行解决方案
方案1:正确注册32位ADO组件(优先尝试,操作成本最低)
- 从旧硬盘的32位Win7系统
C:\Windows\System32\路径下提取msado15.dll文件 - 将该文件复制到新Win10 x64设备的32位系统目录
C:\Windows\SysWOW64\下 - 必须以管理员身份启动命令提示符/Windows终端
- 调用32位版本的regsvr32执行注册,输入命令:
C:\Windows\SysWOW64\regsvr32.exe C:\Windows\SysWOW64\msado15.dll
- 提示注册成功后重启设备,再启动目标程序测试
方案2:兼容模式+组件补装
如果方案1无效,按以下步骤操作:
- 右键点击目标程序的.exe可执行文件,选择「属性」-「兼容性」
- 勾选「以兼容模式运行这个程序」,下拉选择「Windows 7 (Service Pack 1)」,同时勾选「以管理员身份运行此程序」,保存设置
- 安装32位版本的Microsoft Data Access Components (MDAC) 2.8 SP1,安装时全程右键安装包选择「以管理员身份运行」
- 安装完成后重新执行方案1的注册步骤,重启后测试
方案3:32位虚拟机兜底(100%兼容)
当前新CPU普遍已取消对32位Windows系统的原生支持,无法直接启动旧系统硬盘。可在新Win10 x64设备上安装虚拟机软件,创建32位Windows 7虚拟机,将完整程序环境迁移到虚拟机内运行,所有VB6开发的老程序均可在该环境下完美运行。
内容的提问来源于stack exchange,提问作者segers909
相关产品推荐
相关产品推荐

