知识屋:更实用的电脑技术知识网站
所在位置:首页 > 电脑技术

64位操作系统中注册32位COM组件的方法

发布时间:2016-08-02 12:12:31作者:知识屋

这篇文章主要介绍了64位操作系统中注册32位COM组件的方法,需要的朋友可以参考下 在64位操作系统中注册COM组件时,使用regsvr32命令注册成功,但在vbs文件中创建组件时失败,提示未能找到相关的组件,Err.Munber=429。

根据http://support.microsoft.com/kb/249873的提示:

The 64-bit version is %systemroot%\System32\regsvr32.exe.
The 32-bit version is %systemroot%\SysWoW64\regsvr32.exe. 看着有64的目录原来是32位程序

所以在64位系统中注册32位COM组件时,应该使用SysWoW64目录下的regsvr32.exe命令。并且创建组件的程序应该以管理员权限启动,否则没有足够的权限,创建仍然失败。

但当在asp文件中创建组件时仍然会失败,即使IE以管理员权限启动,Err.Munber=429。

下面是demon的补充:

以旧版的DynamicWrapperX为例,这是32位的COM组件,如果直接用regsvr32命令注册,会弹出错误:

模块“dynwrapx.dll”可能与您正在运行的 Windows 版本不兼容。检查该模块是否与 regsvr32.exe 的 x86 (32 位)或 x64 (64 位)版本兼容。

跟wscript.exe一样,regsvr32.exe也有32位和64位两个版本,用64位版本的regsvr32.exe无法注册32位的COM组件。微软也真是,难道就不能换个名字?64位的叫做regsvr64不就行了。

正确的做法是将dynwrapx.dll复制到C:\Windows\SysWOW64并运行C:\Windows\SysWOW64\regsvr32.exe注册,这样就会弹出:

DllRegisterServer 在 dynwrapx.dll 已成功。

其他32位COM组件的注册方法是一样的,顺便说一下,最新版的DynamicWrapperX已经有32和64两种版本了。

以后大家在下载dll的时候,如果没有64位的dll可以用这个方法,试试。
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜