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

来源:互联网 发布:红色网络家园下载 编辑:程序博客网 时间:2024/05/19 12:24

在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,然后

regsvr32 oledb.dll

regsvr32 -u oledb.dll

这个平台上注册32bit DLL 要使用C:/Windows/SysWOW64/regsvr32

64bit要使用C:/Windows/System32/regsvr32

 

 

http://support.microsoft.com/kb/305097/zh-cn

 

http://support.microsoft.com/kb/282747/en-us

 

http://www.differentpla.net/content/2008/10/things-i-learnt-week-regsvr32exe-windows-x64

 

 

注:*.udl文件是 oledb驱动的数据链接属性配置文件。

原创粉丝点击