如何作BCB6的程序的BDE安装程序?

时间:2021-10-31 17:38:20
用BCB5的时候可以用很方便的做一个BDE的安装盘,可是用BCB6后不止如何做了,请各位指教

9 个解决方案

#1


为什么没有人回答,大家看看啊!

#2


看来是分少了吧?我决定加分到200了

#3


我用BCB6自带的InstallShield做安装盘,可是没有在上面找到BDE选项,而看帮助却说应该是有的,我到InstallShield网站上找到的BDE的包,可是在安装的时候它却说没有找到Delphi或BCB的企业版,这该如何是好?如果谁能解决,我何以送他300分!谢谢!

#4


我也遇到过你的情况。我改用Inno Setup打包了。
我的程序是BDE+Paradox.
使用inno Setup将必要的文件放入。用inno Setup写注册表。
成功!
到http://tj.skycn.net/down/HA_ISetup301b_XW.cab下载汉化版,很小。
我是这么作的:
数据库没有使用别名,而是将数据文件放在程序目录中,用目录来代替别名。这样就使打包方便了。
关于注册表部分我是这么写的。
[Registry]
Root: HKCU; Subkey: "Software\Borland"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\Borland\Database Engine"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\Borland\Database Engine"; ValueType: string; ValueName: "DLLPATH"; ValueData: "{cf}\Borland Shared\BDE"
Root: HKLM; Subkey: "Software\Borland\BLW32"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\Borland\BLW32"; ValueType: string; ValueName: "BLAPIPATH"; ValueData: "{cf}\Borland Shared\BDE"
Root: HKLM; Subkey: "Software\Borland\BLW32"; ValueType: string; ValueName: "LOCALE_LIB0"; ValueData: "fareast.btl"
Root: HKLM; Subkey: "Software\Borland\BLW32"; ValueType: string; ValueName: "LOCALE_LIB1"; ValueData: "usa.btl"
文件我加入了
Source: "D:\bde\Borland Shared\BDE\bantam.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Charset.cvb"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\fareast.btl"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idapi32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idbat32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Iddbas32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idpdx32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idr20009.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idsql32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\usa.btl"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
其实就是将bantam.dll、Charset.cvb、fareast.btl、Idapi32.dll、Idbat32.dll、Iddbas32.dll、Idpdx32.dll、Idr20009.dll、Idsql32.dll、usa.btl这些必要的文件加到{cf}\Borland Shared\BDE下,这就和写注册表的部分对应了。
其它的程序文件你自己可以加。
我贴的是打包工具的脚本。文件的加入是鼠标选择就可以了。
注册表部分是自己加。
这个工具很好,打包也很小。
有兴趣的话给我发短信息。

#5


如果就用InstallShield难道就没有办法解决吗?我的InstallShield的版本是3.03(for borland)看到网上有3.5的版本不知道去那里可以下载?谁可以帮助我?
to lovebcb(京华) 实在没有办法我就只有自己写注册表了!唉!

#6


我要连接的是SQL数据库,难道就没有办法了吗?大家发挥聪明才智啊!

#7


所以我一般用ADO.

#8


有人说bcb5带的IS可以给bcb6的BDE打包,你试试。

#9


bcb5及以下的IS有对应版本的bde设置,bcb6的没有(虽然它的帮助文件中说在mergmodal中可以设置),但是,可以使用bcb5的IS来打包bcb6的数据库应用程序,打包bde,我的设计也就是这样打包成功的(没有使用bcb6的新控件)。

友人建议使用wiseinstall,其中有bde的设置选项,可以很容易地将bde打包.(不过我打包后没在其他机子上试过),象is一样,设置别名和路径什么的就可以了.

#1


为什么没有人回答,大家看看啊!

#2


看来是分少了吧?我决定加分到200了

#3


我用BCB6自带的InstallShield做安装盘,可是没有在上面找到BDE选项,而看帮助却说应该是有的,我到InstallShield网站上找到的BDE的包,可是在安装的时候它却说没有找到Delphi或BCB的企业版,这该如何是好?如果谁能解决,我何以送他300分!谢谢!

#4


我也遇到过你的情况。我改用Inno Setup打包了。
我的程序是BDE+Paradox.
使用inno Setup将必要的文件放入。用inno Setup写注册表。
成功!
到http://tj.skycn.net/down/HA_ISetup301b_XW.cab下载汉化版,很小。
我是这么作的:
数据库没有使用别名,而是将数据文件放在程序目录中,用目录来代替别名。这样就使打包方便了。
关于注册表部分我是这么写的。
[Registry]
Root: HKCU; Subkey: "Software\Borland"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\Borland\Database Engine"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\Borland\Database Engine"; ValueType: string; ValueName: "DLLPATH"; ValueData: "{cf}\Borland Shared\BDE"
Root: HKLM; Subkey: "Software\Borland\BLW32"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\Borland\BLW32"; ValueType: string; ValueName: "BLAPIPATH"; ValueData: "{cf}\Borland Shared\BDE"
Root: HKLM; Subkey: "Software\Borland\BLW32"; ValueType: string; ValueName: "LOCALE_LIB0"; ValueData: "fareast.btl"
Root: HKLM; Subkey: "Software\Borland\BLW32"; ValueType: string; ValueName: "LOCALE_LIB1"; ValueData: "usa.btl"
文件我加入了
Source: "D:\bde\Borland Shared\BDE\bantam.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Charset.cvb"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\fareast.btl"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idapi32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idbat32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Iddbas32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idpdx32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idr20009.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\Idsql32.dll"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
Source: "D:\bde\Borland Shared\BDE\usa.btl"; DestDir: "{cf}\Borland Shared\BDE"; CopyMode: alwaysoverwrite
其实就是将bantam.dll、Charset.cvb、fareast.btl、Idapi32.dll、Idbat32.dll、Iddbas32.dll、Idpdx32.dll、Idr20009.dll、Idsql32.dll、usa.btl这些必要的文件加到{cf}\Borland Shared\BDE下,这就和写注册表的部分对应了。
其它的程序文件你自己可以加。
我贴的是打包工具的脚本。文件的加入是鼠标选择就可以了。
注册表部分是自己加。
这个工具很好,打包也很小。
有兴趣的话给我发短信息。

#5


如果就用InstallShield难道就没有办法解决吗?我的InstallShield的版本是3.03(for borland)看到网上有3.5的版本不知道去那里可以下载?谁可以帮助我?
to lovebcb(京华) 实在没有办法我就只有自己写注册表了!唉!

#6


我要连接的是SQL数据库,难道就没有办法了吗?大家发挥聪明才智啊!

#7


所以我一般用ADO.

#8


有人说bcb5带的IS可以给bcb6的BDE打包,你试试。

#9


bcb5及以下的IS有对应版本的bde设置,bcb6的没有(虽然它的帮助文件中说在mergmodal中可以设置),但是,可以使用bcb5的IS来打包bcb6的数据库应用程序,打包bde,我的设计也就是这样打包成功的(没有使用bcb6的新控件)。

友人建议使用wiseinstall,其中有bde的设置选项,可以很容易地将bde打包.(不过我打包后没在其他机子上试过),象is一样,设置别名和路径什么的就可以了.