主题:请问各位大侠用C++Builder写的程序如何生成安装文件
SGD1979
[专家分:0] 发布于 2006-03-06 14:15:00
C++Builder中有这个功能吗?如果没有,那用什么软件呢?
谢谢!!
回复列表 (共10个回复)
沙发
SGD1979 [专家分:0] 发布于 2006-03-06 14:35:00
各位大虾帮帮忙吧,
板凳
qining-china [专家分:1150] 发布于 2006-03-07 09:09:00
需要 Install wizzard for bcb
3 楼
SGD1979 [专家分:0] 发布于 2006-03-08 15:56:00
谢谢!!
不过我想问一下,"Install wizzard for bcb"这是一个专门的应用软件吗,
4 楼
liqi6460 [专家分:320] 发布于 2006-03-08 16:06:00
bcb6带有生成安装文件的功能,你可以查看bcb6的使用说明
5 楼
SGD1979 [专家分:0] 发布于 2006-03-09 08:17:00
谢谢你!!liqi6460,你是济南的吗?我还有些问题想当面请教.不知方便否?
6 楼
liqi6460 [专家分:320] 发布于 2006-03-10 14:07:00
我是陕西的
有什么事可发邮箱liqi6460@yahoo.com.cn
7 楼
ya_ha [专家分:0] 发布于 2009-04-04 16:48:00
我也很想知道这个问题的答案,,希望细讲!
8 楼
xufs [专家分:0] 发布于 2009-07-24 05:37:00
转贴:
一般,我们这样发布程序:
“
在prject->Options->Compiler中点击Release,
在prject->Options->Packages中去掉Builder with runtime packages选项
在prject->Options->Linker中去掉Use dynamic RTL 选项
然后, ReBuild
”
最后最好再用UPX压缩一下exe文件
效果:绿色,适用于一般的程序,不需要borland的环境.
可用BCB自带的installshield安装工具生成安装文件.当然还可用其它的
9 楼
xufs [专家分:0] 发布于 2009-07-24 05:46:00
转贴:
你用什么打包,要是用BCB5自带的打包程序InstallShield Express for C++Builder 5打包CB5程序一点问题都不应该有,当然你用CB5的那个打包程序打包CB6程序,你可以参看:
用BCB5的打包程序来打包BCB6开发的程序
当我们用BCB做好了一个程序后,下一步要做的就的打包程序,发布给用户了。单从打包程序的角度来讲,我们的选择会有很多,就BCB来说,每个版本的BCB光盘上都有一个打包程序,对于这些打包程序,我只用过BCB5的与BCB6的,别的版本没有用过,不敢乱加评论,但BCB6带的那个打包程序明显存在问题,对中文的支持也不好,这样不由的想到了是否能用BCB5的打包程序来打包?我在网上咨询过很多朋友,没有朋友能给出一个明确的答案,便自已动手来找其原理,最终成功了,但不可否认这其中我得到了很多网友的支持与提示,这里我将自己的方法提供给大家参考,希望所有支持BCB的朋友喜欢,更希望听到的不同声音,让我们共同深入。
首先确认你的BCB5打包程序已经安装成功,下面我们要完成的是让这个打包程序来打包BCB6程序。
在E:\Program Files\InstallShield\InstallShield Express for C++Builder 5(当然这要看你具体的安装路径,我的是这样的)这里面你应该能找到swdepend.ini与isdepend.ini这两个INI文件,先把这两个文件备份一下。
我们打开isdepend.ini,在[Options]部分中找到“Option12=BDE Database Component Packages”,在这段值的前面加上“;”号,即改成为“;Option12=BDE Database Component Packages”,目的就是把这项给取消。因为有他在“Option3=BDE Control Panel File”就会总起作用,只要你选过相关的数据库项一次,无论你再如何做,在我们的对话框中,这项都永远会被选中。
我们打开最为重要的swdepend.ini文件,进行如下操作:
1)我们把所有50都替换为60,如vcl50.bplàvcl60.bpl;
2)我们把所有Src=HKEY_LOCAL_MACHINE\SOFTWARE\Borland\C++Builder\5.0\RootDir都替换为Src=HKEY_LOCAL_MACHINE\SOFTWARE\Borland\C++Builder\6.0\RootDir;
3)在[VCL WinSys]部分中加上值“Uses2=RTL60.BPL”;
4)在[InpriseThreadedRuntime]部分中把Uses1=CC3245MT.DLL改为Uses1=CC3260MT.DLL;
5)在[VCLDB60 BPL]部分中加上Uses2=DBRTL60.BPL;
6)在[Use Database Packages Support]部分中加上Uses3=ADORTL60.BPL、Uses4=BDERTL60.BPL,原Uses2=VCLDB50 BPL替换成Uses2=VCL WinSys;
7)在[Use STD Packages Support]部分中加上Uses2=InpriseThreadedRuntime;
8)在[Use BDE Database Packages Support]前上“;”,在其下各值前面也加“;”,意图就是把这项废掉;同样在[VCLBDE60.BPL]前加上“;”,在其下的各值前面也加上“;”,因为在BCB6中根本就不存在这样的一个BPL文件。
通过这样的改动后,这个原来专门为BCB5服务的打包程序就可以打包BCB6程序了,相信用过BCB5打包程序的朋友一定会高兴继续用这个打包程序来打包BCB6。当然通过上面的改动我们明白了这个打包程序的工作环境与原理,我们可以通过适当的改动,让他来打包别的开发程序,这就是你的工作了J
你只要选择选择Standard VCL packages与Database Component Packages两项就可以了,并且通过动手修改的那个文件,你就清楚,需要那些BPL了,当然这些BPL你若不是用CB自还的打包工具,你还得注册
10 楼
xufs [专家分:0] 发布于 2009-07-24 06:06:00
若开发的程序涉及到数据库, 还是用InstallShell Express 来打包发布程序.
若开发的程序不涉及到数据库和第三方的.dll控件,就简单用以下方法发布:
你在编译BCB程序的时候,先点击菜单Project->options
在Complier里点击Release按钮;
在linker选项页中去掉 Use dynamic RTL 前面的钩;
在Packages选项页中去掉 Runtime packages 前面的钩;
之后进行编译,这样编译出来的程序移植到其他机器上可以直接运行
如果是自己编写的DLL,你需要把DLL同时发布.
我来回复