首先,据我所知,Borland/CodeGear没有发布过支持64bit windows的BDE安装包,如果你在网上看到了相关的BDE安装包,很有可能是使用者自己重新打包发布的。

无论是在32bit windows还是64bit windows下,发布BDE关键是以下几点
1:将BDE相关文件发布到目标机器上的特定文件夹下。
2:在目标机器上创建指定的注册表键值
3:在目标机器上创建BDEAdministrator的快捷方式和关联文件的打开方式

下面详细说一下其中每一步骤。
1:在发布BDE相关文件之前,首先你需要在自己的机器上获得BDE的文件。如果你本机已经安装了Delphi(这里,将以Delphi 7为例,在其他版本的Delphi中获得BDE文件的方式大致相同,但可能会有名称Borland与CodeGear之间的差别,实际遇到时,稍微注意即可),你可以在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine 键值[DLLPath]下获得本机BDE的安装路径,默认情况下,BDE会被安装在 C:\Program Files\Common Files\Borland Shared\BDE 。简单情况,只需要将该文件夹下所有文件都复制到目标机器上,即可保证目标机器上就拥有了BDE所有必需文件。

在目标机器上,BDE的安装文件夹是可选的,不一定要安装在%system%\Program Files\Common Files\Borland Shared(对于64bit OS也不一定要安装在 %system%\Program Files(x86)\Common Files\Borland Shared)。由于BDE驱动和BDE administrator能否正确被调用是依赖于注册表的键值,所以只需要在目标机器的注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine  键值[DLLPath]下指定BDE文件所在的绝对路径即可(这里就是绝对路径,不考虑32/84bit OS下访问系统文件可能出现的重定向)。

2:在目标机器上创建注册表键,既可以通过注册表文件自动导入,也可以通过安装程序来创建。
如果,只是希望简单的获得注册表文件的话,可以在一台已经安装了Delphi或BDE的机器上,导出注册表 [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine] 下所有键,然后将导出的注册表文件手工或在安装程序中自动导入到目标机器上即可。

注意,在目标机器上导入注册表键时,32bit OS和64bit OS是有区别的。对于64bit OS,应该将注册表文件导入到 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node 键下,因为32bit应用程序只能访问 [Wow6432Node] 下的键值。这个区别可能会影响到你在使用安装包创建注册表的方式,如果没有创建在正确的路径之下,则会影响到当你试图打开BDE config文件时,寻找不到正确的BDE Administrator程序。

在创建完注册表键值后,不要忘记在目标机器上打开注册表编辑器,设置相关登陆账号的使用权限。

3:在目标机器上创建BDE Administrator和关联BDE config文件打开方式。
如果目标机器是64bit系统的话,请不要添加BDE administrator的快捷方式添加到control panel icon,因为32bit下的cpl文件在64bit下可能不能正常工作,你可以选择将其添加到开始菜单栏,开始菜单的位置在%allusersprofile%\start menu\bdeadmin.lnk。

另外,对于64bit系统你还需要特别做如下设置。
打开 Control Panel \ Administrative Tools \ Local Security Policy \ Security Options \ 找到 [User Account Control: Virtualize file and registry write failures to per-user locations] ,将这一项设置为 enable 。这一步很重要,因为如果不重要设置的话,你在切换BDE文件的时候,BDEAdmin总是打开错误的BDE CFG文件,其值被存储在注册表中一个虚拟存储键值下,而不是BDE的键值。

以上三步安装步骤完成后,如果你使用的是64bit OS,当你需要创建一个ODBC的alias时,你首先需要打开的时候32bit 版本的ODBC Administrator,该版本的ODBC程序可以在以下目录找到 C:\Windows\SysWOW64\odbcad32.exe。在你配置ODBC的DSN时有一点需要注意一下,就是DSN分为system DSN和user DSN两类,如果创建为user DSN时,则该DSN只能在当前系统账号下可被访问到,当切换账号时,则不可访问,如果你所配置说道BDE config文件中有alias用到user DSN,则当切换系统账号后,很有可能该BDE config文件中的alias不可用。如果希望BDE config文件中的alias可以用在多个系统账号下,则将其使用到的DSN创建为system DSN即可。

在64位系统上部署BDE的要点的更多相关文章

  1. 【转】将 Linux 应用程序移植到 64 位系统上

    原文网址:http://www.ibm.com/developerworks/cn/linux/l-port64.html 随着 64 位体系结构的普及,针对 64 位系统准备好您的 Linux® 软 ...

  2. [转]C#程序无法在64位系统上运行之.NET编译的目标平台

    今天将编译的C#的exe拷贝到测试机上(Win7_64bit),一运行就挂了,提示“stop working”,一开始怀疑测试机上没有安装.net framework框架,追究半天原来是编译的目标平台 ...

  3. 在64位系统上不能安装Matlab notebook的解决方案

    在64位系统上不能安装Matlab notebook的解决方案 过程分解 第一步:安装好matlab(附:Matalab R2015a界面) 第二步:在matlab中执行命令 >>note ...

  4. 在window server 2008 64位系统上 发布网站的过程中遇到的问题(转)

    发布网站的过程如下: 1.安装数据库系统2.建立数据库,执行sql3.安装iis4.在本地机子上发布网站5.把发布好的东西拷贝到IIS上 1.安装数据库系统: 出现错误:必须使用角色管理工具 安装或配 ...

  5. 在window server 2008 64位系统上 发布网站的过程中遇到的问题

    发布网站的过程如下: 1.安装数据库系统2.建立数据库,执行sql3.安装iis4.在本地机子上发布网站5.把发布好的东西拷贝到IIS上 1.安装数据库系统: 出现错误:必须使用角色管理工具 安装或配 ...

  6. 如何在64位系统上安装SQL Server 2000

    如何在64位系统上安装SQL Server 2000? 现在用SQL Server 2000数据库的人少了吧?大都是SQL Server 2005/2008了.不过还是有需求的,今天一朋友就让我在他的 ...

  7. Win7 64位系统上配置使用32位的Eclipse(转)

    Win7 64位系统上配置使用32位的Eclipse 博客分类: Eclipse eclipse  最近工作电脑换成了64位的win7系统,之前个人电脑上安装的jdk和Eclipse都是32位的.而新 ...

  8. 32位程序在64位系统上获取系统安装时间(要使用KEY_WOW64_64KEY标记)

    众所周知,取系统的安装时间可取注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion的子项InstallDate,此值是个 ...

  9. 使用visual c++ 2005远程调试64位系统上32位与64位程序

    一直都挺喜欢使用visual c++远程调试代码,它能展现给我们当时代码执行最真实的情景,今天有时间记录一下,以免以后忘了. 远程调试需要在被调试端安装服务器,对于visual c++ 2005来说调 ...

随机推荐

  1. Python之路(六)---> 函数、变量

    Python中的函数和数学上的函数定义是不一样的,从数学的角度上来说函数的定义:给定一个数集A,假设其中的元素为x.现对A中的元素x施加对应法则f,记作f(x),得到另一数集B.假设B中的元素为y.则 ...

  2. 20170607 JDBC课堂实践 任务四

    20170607 JDBC课堂实践 任务四 题目 查询world数据库,查询哪个国家的平均寿命最长. 码云链接 SQL语句 SELECT Code, Name, LifeExpectancy FROM ...

  3. 20155322 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉(macOS + Eclipse)

    20155322 2016-2017-2 <Java程序设计>实验一 Java开发环境的熟悉(macOS + Eclipse) 实验目的与内容 熟悉命令行开发环境. 使用vim等文本编译器 ...

  4. Qt5.3.2 在MAC yosemite下编译出错 Could not resolve SDK path

    把Qt目录下面Users/Qt5.3.2/5.3/clang_64/mkspecs/qdevice.pri文件中的!host_build:QMAKE_MAC_SDK = macosx10.8改为!ho ...

  5. sql语句-6-更新数据

  6. 【CF613D】Kingdom and its Cities

    [CF613D]Kingdom and its Cities 题面 洛谷 题解 看到关键点当然是建虚树啦. 设\(f[x]\)表示以\(x\)为根的子树的答案,\(g[x]\)表示以\(x\)为根的子 ...

  7. 解决非controller使用,@Autowired或者@Resource注解注入Mapper接口为null的问题

    知识点:在service层中注入其它的service接口或者mapper接口都是可以的 但是在封装的Utils工具类中或者非controller普通类中使用@Autowired@Resource注解注 ...

  8. Yii 2.0 使用片段缓存

    网站首页footer中的菜单标题是从数据库读取并显示处理的. 也就是 <footer>标题里面是foreach.这样每个人打开网站就查询遍历效率会很低. <footer class= ...

  9. python 内置模块(sys)

    sys.argv           命令行参数List,第一个元素是程序本身路径sys.exit(n)        退出程序,正常退出时exit(0)sys.version        获取Py ...

  10. 那些不能遗忘的知识点回顾——C/C++系列(笔试面试高频题)

    有那么一些零碎的小知识点,偶尔很迷惑,偶尔被忽略,偶然却发现它们很重要,这段时间正好在温习这些,就整理在这里,一起学习一起提高!后面还会继续补充. ——前言 1.面向对象的特性 封装.继承.多态. 封 ...