Windows 64bit 平台使用 regsvr32 注册驱动动态库问题

在Windows 64bit系统上,使用32位Delphi开发的程序无法识别64位驱动,因为32位Delphi只会查看注册表的32位部分。64位DLL驱动需要在64位注册表区域注册,而32位DLL则在32位区域。Windows 64位系统包含两个版本的regsvr32,分别对应32位和64位注册。注册64位DLL需使用System32目录下的regsvr32,而32位DLL则需使用SysWOW64目录下的版本。在Windows 7上,注册DLL需要管理员权限。
摘要由CSDN通过智能技术生成

在Windows 64bit平台上,使用Delphi (32bit),测试加载新开发的oledb 64bit驱动时,发现udl数据链接面板中无此驱动

原因是32bit版本的delphi只去注册表中32bit区域查找驱动注册信息,而64bit DLL驱动注册到了注册表64bit区域。

防网络盗版原文,特声明于此,本文章博客 http://blog.csdn.net/eskycn

 

问题调研如下:

 

windows 64bit 有两个版本的regsvr32

C:/Windows/System32/regsvr32,  64-bit
C:/Windows/SysWOW64/regsvr32, 32-bit

 

Windows server 2008

无论使用哪个版本的regsvr32注册驱动动态库DLL,注册表中的注册信息位置取决于动态库的版本,即:

驱动动态库DLL如果为32bit, 无论使用哪个版本的regsvr32 ,都注册到注册表中32bit区域(键值Wow6432Node)

驱动动态库DLL如果为64bit, 无论使用哪个版本的regsvr32 ,都注册到注册表中64bit区域

 

Windows7

使用 Regsrv32 注册 DLL,登录使用的账户要有管理凭据(admin),以“管理员身份运行”启动cmd&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值