當我們用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。當然通過上面的改動我們明白了這個打包程序的工作環境與原理,我們可以通過適當的改動,讓他來打包別的開發程序,這就是你的工作了。