在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来说调 ...
随机推荐
- C# typeof() 和 GetType()区是什么
1.typeof(x)中的x,必须是具体的类名.类型名称等,不可以是变量名称. 2.GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,它的作用和typeof() ...
- PostgreSQL的pg_stats学习
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL统计信息索引页 回到顶级页面:PostgreSQL索引页 对于pg_stas,说明文档在这里: http://w ...
- Qt开发者关于QThread的咆哮——你们都用错了
Qt开发者关于QThread的咆哮——你们都用错了 我们(Qt用户)正广泛地使用IRC来进行交流.我在Freenode网站挂出了#qt标签,用于帮助大家解答问题.我经常看到的一个问题(这让我不厌其烦) ...
- MySQL 安装 + Windows7
Window版本 1.下载 http://dev.mysql.com/downloads/mysql/ 2.解压 如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:D:\m ...
- Java读取Propertity文件
读取propertity 文件其实很简单,就是每次容易搞错文件路径,今天刚好项目又用到了,顺便记下来,以便以后参考: 目录如下: 代码如下: package com.infs.exam.process ...
- Drupal views 中合并显示字段
如图, 需要显示如下数据表格 表格的第三列是由两个字段组成的.分别是title 标题字段和body 内容字段. 默认情况下,一列只显示一个字段.如何同时显示两个呢? 这个问题难不到强大的views,要 ...
- [转载]A cycle was detected in the build path of project
解决Eclipse中Java工程间循环引用而报错的问题 如果我们的项目包含多个工程(project),而它们之间又是循环引用的关系,那么Eclipse在编译时会抛出如下一个错误信息: “A cycle ...
- python编码和小数据池
python_day_6 一. 回顾上周所有内容一. python基础 Python是一门解释型. 弱类型语言 print("内容", "内容", end=&q ...
- php引用&使用笔记
引用与赋值是两个概念:引用是共用同一个内存地址,一个改变其他也会变,赋值是另外开辟内存空间,一个改变其他不会变 一个简单例子: $a=123; //$a开辟一个内存空间存储123 $b=&$a ...
- python-编程从入门到实践
python-编程从入门到实践 1.python文件后缀名: .py 是Python的源码文件,由Python.exe解释. .pyc 是Python的编译文件.pyc 文件往往代替 py 文件发布: ...