如何利用InstallShield for Delphi7打包Oracle9i客户端制作C/S数据库应用程序?

各位大虾:

小生菜鸟飞飞想完成如下工作:
Oracle9i作为后台数据库,以Delphi7作为前台开发工具制作一个客户机/服务器(C/S)类型的数据库应用系统.计划以ADO组件的形式访问数据库中的表.
请问我该如何利用Delphi7自带的安装程序制作工具InstallShield Express for Delphi7将Oracle客户端打包进安装程序呢? 如果每一台客户机上都要安装Oracle客户端的话那好象太笨了.请问有没有什么办法可以直接把需要的文件拷贝出来,同时把注册表里的哪些值需要导出来呢?飞飞不想利用第三方控件,因为怕涉及到版权问题,很麻烦.
请这方面有经验的大虾给予指点,最好能给出详细的步骤,因为飞飞在这方面经验是很欠缺的.
飞飞在此多谢了!

 

我建議:
1. 用BDE連接方式較好
2. InstallShield Express for Delphi7生成最小安裝程式
3. 在你電腦最小化安裝ORACLE 
4. 把以上二者安裝在硬盤的程式打包拷貝出來
5. 用XCOPY  把這些文件按原目錄拷貝進電腦就可以
6. 不過電腦需要重新啟動的
7. 以上文件在安裝時最好裝在C:盤
    因為有電腦只有C:盤,可能沒有別的盤的
8. 以上拷貝過程要作個批處理的

以下是我的批處理,參考一下:
z:\buffer\SETUP\FOX\SETUP
XCOPY z:\BUFFER\OO\PROGRA~1\*.* /S C:\PROGRA~1
MD c:\ORACLE
XCOPY z:\BUFFER\OO\ORACLE\*.* /S c:\ORACLE
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC1.BAT
COPY z:\BUFFER\2\AUTOEXEC.BAT C:\
COPY z:\BUFFER\OO\N8EC_D.LNK C:\
COPY z:\BUFFER\OO\*.REG C:\
REGEDIT C:\ORACLE.REG
REGEDIT C:\ODBC1.REG
REGEDIT C:\ODBC2.REG
COPY z:\buffer\SETUP\DLL\*.* C:\WINNT\SYSTEM
COPY z:\buffer\SETUP\DLL\*.* C:\WIN98\SYSTEM
COPY z:\buffer\SETUP\DLL\*.* C:\CWIN98\SYSTEM
COPY z:\buffer\SETUP\DLL\*.* C:\WINdows\SYSTEM
COPY z:\buffer\SETUP\DLL\*.* C:\WINdows.000\SYSTEM
MD C:\FOXMOLD
COPY z:\BUFFER\FOXMOLD\*.* C:\FOXMOLD
COPY Z:\FOXMOLD\*.LNK C:\WINNT\DESKTOP
COPY Z:\FOXMOLD\*.LNK C:\WIN98\DESKTOP
COPY Z:\FOXMOLD\*.LNK C:\CWIN98\DESKTOP
COPY Z:\FOXMOLD\*.LNK C:\WINDOWS\DESKTOP
COPY Z:\FOXMOLD\*.LNK C:\WINDOWS.000\DESKTOP
REM EDIT BY KENT.   -START
COPY z:\BUFFER\VCLMID50.BPL C:\WINNT\SYSTEM32
COPY z:\BUFFER\VCLMID50.BPL C:\WIN98\SYSTEM32
COPY z:\BUFFER\VCLMID50.BPL C:\CWIN98\SYSTEM32
COPY z:\BUFFER\VCLMID50.BPL C:\windows\SYSTEM32
COPY z:\BUFFER\VCLMID50.BPL C:\windows.000\SYSTEM32
REM EDIT BY KENT.   -END.
C:\PROGRA~1\COMMON~1\BORLAN~1\BDE\BDEADMIN
exit


以上可适合几種WINDOWS系統版本的

 

以下是我的批處理,參考一下:
安裝DELPHI環境
z:\buffer\SETUP\FOX\SETUP
XCOPY z:\BUFFER\OO\PROGRA~1\*.* /S C:\PROGRA~1
拷貝ORACLE
MD c:\ORACLE
XCOPY z:\BUFFER\OO\ORACLE\*.* /S c:\ORACLE
拷貝批處理
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC1.BAT
COPY z:\BUFFER\2\AUTOEXEC.BAT C:\
拷貝ORACLE鍊接及注冊
COPY z:\BUFFER\OO\N8EC_D.LNK C:\
COPY z:\BUFFER\OO\*.REG C:\
註冊
REGEDIT C:\ORACLE.REG
REGEDIT C:\ODBC1.REG
REGEDIT C:\ODBC2.REG
拷貝DELPHI包
COPY z:\buffer\SETUP\DLL\*.* C:\WINNT\SYSTEM
COPY z:\buffer\SETUP\DLL\*.* C:\WIN98\SYSTEM
COPY z:\buffer\SETUP\DLL\*.* C:\CWIN98\SYSTEM
COPY z:\buffer\SETUP\DLL\*.* C:\WINdows\SYSTEM
COPY z:\buffer\SETUP\DLL\*.* C:\WINdows.000\SYSTEM
拷貝應用程式
MD C:\FOXMOLD
COPY z:\BUFFER\FOXMOLD\*.* C:\FOXMOLD
COPY Z:\FOXMOLD\*.LNK C:\WINNT\DESKTOP
COPY Z:\FOXMOLD\*.LNK C:\WIN98\DESKTOP
COPY Z:\FOXMOLD\*.LNK C:\CWIN98\DESKTOP
COPY Z:\FOXMOLD\*.LNK C:\WINDOWS\DESKTOP
COPY Z:\FOXMOLD\*.LNK C:\WINDOWS.000\DESKTOP
REM EDIT BY KENT. -START
拷貝DELPHI包
COPY z:\BUFFER\VCLMID50.BPL C:\WINNT\SYSTEM32
COPY z:\BUFFER\VCLMID50.BPL C:\WIN98\SYSTEM32
COPY z:\BUFFER\VCLMID50.BPL C:\CWIN98\SYSTEM32
COPY z:\BUFFER\VCLMID50.BPL C:\windows\SYSTEM32
COPY z:\BUFFER\VCLMID50.BPL C:\windows.000\SYSTEM32
REM EDIT BY KENT. -END.
C:\PROGRA~1\COMMON~1\BORLAN~1\BDE\BDEADMIN
exit
修改DELPHI BDE

1.在安装了Oracle客户端程序后,在Oracle安装目录下有如下目录和文件是连接Oracle数据库服务器所必需的:(最好保持目录层次关系结构) 
2.Oracle\BIN及子目录文件,并且保证应用程序可以找到该目录,即该目录为系统目录或者PATH目录。 
3.Oracle\OCOMMON\NLS\ADMIN目录以及其下所有文件 
4.Oracle\OCOMMON\NLS\MESG目录以及其下所有文件 
5.Oracle\NETWORK\ADMIN\tnsnames.ora 这个文件是配置网络服务名用的 
可以用记事本打开,改为正确的配置。 
6.Oracle\ORACORE\Mesg以及其下所有MSB文件 

7.导入注册表到客户机: 
REGEDIT5 
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE] 
"inst_loc"="C:\\Program Files\\Oracle\\Inventory" 
"ORACLE_HOME"="D:\\oracle\\ora81" 
"ORACLE_HOME_NAME"="OraHome81" 
"API"="D:\\oracle\\ora81\\dbs" 
"ORACLE_GROUP_NAME"="Oracle - OraHome81" 
"NLS_LANG"="NA" 
"OLEDB"="D:\\oracle\\ora81\\oledb\\mesg" 
"VOBHOME2.0"="D:\\oracle\\ora81" 
"OO4O"="D:\\oracle\\ora81\\oo4o\\mesg" 

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES] 
"HOME_COUNTER"="1" 
"DEFAULT_HOME"="OraHome81" 
"LAST_HOME"="0" 

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0] 
"NAME"="OraHome81" 
"PATH"="D:\\oracle\\ora81" 
"NLS_LANG"="NA" 

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0] 
"ID"="0" 
"ORACLE_GROUP_NAME"="Oracle - OraHome81" 
"ORACLE_HOME_NAME"="OraHome81" 
"ORACLE_HOME"="D:\\oracle\\ora81" 
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 
"ORACLE_SID"="QIAODB" //这个要和服务器的sid一致 
"ORACLE_HOME_KEY"="Software\\ORACLE\\HOME0" 
"SQLPATH"="D:\\oracle\\ora81\\dbs" 
"ORACLE_BASE"="D:\\oracle" 
"MSHELP_TOOLS"="D:\\oracle\\ora81\\MSHELP" 
"RDBMS_CONTROL"="D:\\oracle\\ora81\\DATABASE" 
"RDBMS_ARCHIVE"="D:\\oracle\\ora81\\DATABASE\\ARCHIVE"

如何利用InstallShield for Delphi7打包Oracle9i客户端制作C/S数据库应用程序?

上一篇:Python pymysql连接mysql数据库


下一篇:sql中在使用left join 时 on and 和on where 的区别