在64位系统上部署BDE的要点
首先,据我所知,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的要点的更多相关文章
- 【转】将 Linux 应用程序移植到 64 位系统上
原文网址:http://www.ibm.com/developerworks/cn/linux/l-port64.html 随着 64 位体系结构的普及,针对 64 位系统准备好您的 Linux® 软 ...
- [转]C#程序无法在64位系统上运行之.NET编译的目标平台
今天将编译的C#的exe拷贝到测试机上(Win7_64bit),一运行就挂了,提示“stop working”,一开始怀疑测试机上没有安装.net framework框架,追究半天原来是编译的目标平台 ...
- 在64位系统上不能安装Matlab notebook的解决方案
在64位系统上不能安装Matlab notebook的解决方案 过程分解 第一步:安装好matlab(附:Matalab R2015a界面) 第二步:在matlab中执行命令 >>note ...
- 在window server 2008 64位系统上 发布网站的过程中遇到的问题(转)
发布网站的过程如下: 1.安装数据库系统2.建立数据库,执行sql3.安装iis4.在本地机子上发布网站5.把发布好的东西拷贝到IIS上 1.安装数据库系统: 出现错误:必须使用角色管理工具 安装或配 ...
- 在window server 2008 64位系统上 发布网站的过程中遇到的问题
发布网站的过程如下: 1.安装数据库系统2.建立数据库,执行sql3.安装iis4.在本地机子上发布网站5.把发布好的东西拷贝到IIS上 1.安装数据库系统: 出现错误:必须使用角色管理工具 安装或配 ...
- 如何在64位系统上安装SQL Server 2000
如何在64位系统上安装SQL Server 2000? 现在用SQL Server 2000数据库的人少了吧?大都是SQL Server 2005/2008了.不过还是有需求的,今天一朋友就让我在他的 ...
- Win7 64位系统上配置使用32位的Eclipse(转)
Win7 64位系统上配置使用32位的Eclipse 博客分类: Eclipse eclipse 最近工作电脑换成了64位的win7系统,之前个人电脑上安装的jdk和Eclipse都是32位的.而新 ...
- 32位程序在64位系统上获取系统安装时间(要使用KEY_WOW64_64KEY标记)
众所周知,取系统的安装时间可取注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion的子项InstallDate,此值是个 ...
- 使用visual c++ 2005远程调试64位系统上32位与64位程序
一直都挺喜欢使用visual c++远程调试代码,它能展现给我们当时代码执行最真实的情景,今天有时间记录一下,以免以后忘了. 远程调试需要在被调试端安装服务器,对于visual c++ 2005来说调 ...
随机推荐
- BrightScript 3D test - Roku (4)
My initial attempt to port over an old Actionscript program, here it goes in main.brs. Library " ...
- Linux入门进阶第六天——登录文件、开机与模块管理
一.登录文件概述 1.什么是登录文件 简单的说,就是记录系统活动信息的几个文件, 例如:何时.何地(来源 IP).何人 (什么服务名称).做了什么动作 (讯息登录啰). 换句话说就是:记录系统在什么时 ...
- # 第五周课下测试(ch03)补交
第五周课下测试(ch03)补交 1.( 多选题 | 1 分) 有关gdb调试汇编,下面说法正确的是() A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 pri ...
- 优步UBER司机奖励政策:含高峰、翻倍、行程、金牌司机、保底奖励(持续更新...)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://didi-uber.com/archiv ...
- 1071: [SCOI2007]组队
1071: [SCOI2007]组队 https://lydsy.com/JudgeOnline/problem.php?id=1071 分析: dp+单调性. A*(hi–minH)+B*(si–m ...
- 转:后台管理UI的选择
注:文中缺少了ZUI和LAYUI两个. 目录 一.EasyUI 二.DWZ JUI 三.HUI 四.BUI 五.Ace Admin 六.Metronic 七.H+ UI 八.Admin LTE 九.I ...
- C#实现仪器的自动化控制
1.概述 生产测试当中,测试仪器不可或缺,如果是小规模生产,手动测试可以对付:但是要想到达大批量生产的目的,为了简化测试,节约时间,就需要进行自动化测试.出于这样的需求,对仪器的自动化程控就有了需求. ...
- 【MySQL函数】MySQL 5.5从零开始学第六章
说明:本文总结自:<MySQL 5.5从零开始学>第六章 MySQL中的函数包括: 数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数和加密函数等. 函数: 表示对输入参数值 ...
- EOJ3650 转机折扣(26进制,字符串)
题面 看成26进制,把较小的那个字符串加1 strcmp(s1,s2)s1和s2有大小时,不一定都是返回1或者-1.....这个地方wa了好几次没有发现 #include<bits/stdc++ ...
- redis主从配置+sentinel哨兵
redis主从配置+sentinel哨兵 1:编译环境准备 1.1环境确认 Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.所以在搭建Redis服务器时需要C语言的编 ...