首先,据我所知,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. WPF几个基础概念的浅显理解

    1.逻辑树与视觉树 逻辑树在结构上与xaml文件对应 视觉树更细化,拆分到控件的每个组成部分 2.依赖属性与附加属性 依赖属性:就是自己自己没有属性值,而是通过Binding从数据源获得值,就是依赖在 ...

  2. 20155204第4次实验《Android程序设计》实验报告

    20155204第四次实验报告 一.实验内容及步骤 1.Android Stuidio的安装测试: 安装 Android Stuidio 完成Hello World, 要求修改res目录中的内容,He ...

  3. 20155302杨效宸《Java程序设计》课程总结

    20155302杨效宸<Java程序设计>课程总结 一.每周作业 第一周学习总结:http://www.cnblogs.com/STILLlover521/p/6457914.html 第 ...

  4. 微信小程序居中代码

    html页面: { text-align:center; } wxss页面: { width: 100%; height: 100%; display: flex; justify-content: ...

  5. [agc004D]Teleporter

    Description 传送门 Solution 依题意我们可以知道,以2-n为出发点的边和1号节点会构成一课树(不然2-n号节点无法都达到首都). 为了让2-n号节点中,离1号节点的距离<k的 ...

  6. Pandas v0.23.4手册汉化

    Pandas手册汉化 此页面概述了所有公共pandas对象,函数和方法.pandas.*命名空间中公开的所有类和函数都是公共的. 一些子包是公共的,其中包括pandas.errors, pandas. ...

  7. Android Studio 3.1.2 Device File Explorer nothing to show

    Android Studio 3.1.2 Device File Explorer nothing to  show 不显示 目录  ,空白 手持终端设备: Android  4.2.2  ,API1 ...

  8. 网络基础知识-bps、Bps、pps的区别

    在计算机科学中,bit是表示信息的最小单位,叫做二进制位:一般用0和1表示.Byte叫做字节,由8个位(8bit)组成一个字节(1Byte),用于表示计算机中的一个字符.bit(比特)与Byte(字节 ...

  9. 学习HTML 第二节.HTML头部

    HTML为什么要有个头部?还不太明白,可能是一些要提前声明的东西吧.先看看有什么内容吧. 可以添加在头部区域的元素标签为: <title>标题,这个我们知道了: <meta>使 ...

  10. springmvc传参---LocalDateTime、Date等时间类型转换

    此处定义的dateConvert用来转换Date类型,如果是LocalDate.LocalDateTime类型,则将Date类型换成相应的类型即可,注意java8的日期类型需要用Formatter格式 ...