InstallShield制作数据库安装程序研究
微 处 理 机 第 4 期 No. 4 2005 年 8 月A ug. , 2005 M ICRO PROCESSOR S
Insta ll Shie ld制作数据库安装程序研究
高雪松 ,都思丹
()南京大学电子科学与工程系 ,南京 210093
摘 要 :本文介绍了一种利用 In sta ll Sh ie ld制作数据库软件安装版的方法 ,并着重阐述了如何
利用 In sta llSc rip t语言来注册设置 ODBC。
关键词 :安装制作 ;数据库 ; In sta ll; D SN; In sta llSc rip t
( ) 中图分类号 : TP311文献标识码 : A 文章编号 : 1002 - 2279 2005 04 - 0042 - 02
How to C re a te D a ta b a se In s ta lla tio n P ro d u c t b y U s in g In s ta llS h ie ld
GAO Xue - song, DU Si - dan
()D epa rtm en t of E lectron ic S cience and Eng ineering of N an jing U n iversity, N an jing 210093, C h ina
A b stra c t: Th is p ap e r in troduce s a way to m ake da taba se in sta lla tion p roduc t and stre ss expound ing how to se tup ODBC by u sing In sta llSc rip t.
Key word s: C rea te in sta lla tion; D a taba se; In sta ll; D SN; In sta llSc rip t
1 引 言3 安装程序制作主要过程 对于即将投入使用的数据库系统来说 ,一个好 3. 1 输入程序基本信息的专业安装程序是非常必要的 。一般的数据库软件 根据 In sta ll Sh ie ld向导提示输入程序名 、作者 、 系统 ,其安装程序制 作涉 及 到数 据库 的 安装 启动 、 版本号等程序基本信息 ,选择好所需要的各种安装 ODBC配置以及注册表的操作等多方面 , 过程比较
提示对话框 ,制作好商标屏幕 。复杂 。 In sta ll sh ie ld 是符合软件业安装盘制作工业
标准的安装软件开发工具 。目前世界上绝大多数商 3. 2 输入软件许可
并设置软件序列号
业软件的安 装盘 都是 用 In sta ll sh ie ld 开 发制 作的 。 在 licen se. txt中输入软件许 可 协议 , 然 后找 到 特别是 In sta ll sh ie ld 5 的国际版推出以后 ,用户可以 序列号提示对话框 。假定序列号为 770928 ,则可简 制作国际化的安装盘 ,在安装过程中使用本地语言 单设置判断如下 :() 文字 包括双字节字的中文 ,极大地方便了安装操 ( )wh ile svSe ria l! = " 770928" 作 。本文以 In sta ll Sh ie ld 5. 0 来制作 SQLA nywhe re5
if svSe ria l! = " 770928 " then 数据库系统为例介绍数据库安装程序制作过程 。
( ) M e ssageBox "请输入正确的序列号 ! " , WARN IN G; 2 安装制作的主要原理end if;
安装程序需要完成以下三个方面的工作 :( nR e su lt = SdR egiste rU se rEx szTitle, szM sg, svN am e, sv2 拷贝文件 :安装程序需将编译好的程序文件 、程 ) Comp any, svSe ria l;
endwh ile; 序配置文件 、程序的动态库 、资源文件以及其他专用
3. 3 设置组件和文件组 配置文件拷贝目录库文件等拷贝到客户机上 。
在 In sta llSh ie ld中为完成文件拷贝工作提供了 数据库安装与启动 :以 SQLA nywhe re5数据库为
() 两个有用的组件 : 文件组和安装组件 。文件组是需 例 这是最复杂的情况 ,首先要把数据库引擎文件
要拷贝的文件分类 ,而安装组件中安排不同的文件拷贝到客户机上 ,其次要把数据库文件拷贝到客户
拷贝到不同的目录 。安装组件中每一类可包括一个 机上 ,并调用相应的命令配置好数据库的启动 、运行
或多个文件组 ,对应某一特定的目录 ,譬如程序文件 及关闭参数 。
( 应拷贝到系统的安装目录 在 In sta ll Sh ie ld 中用宏注册表操作 : 注册表操作有两个方面 。一是要
) < TAR GETD IR >表示 ,它可以包括两个文件组 : 可 设置好程序本身的说明 、路径 、加密参数等 ,二是要
( ) 执行文件 P rogram Execu tab le F ile s和 动态 库文 件 安装配置好 ODBC,设置数据源 。以上都要求在 In2
( ) P rogram D lls,它们都需要拷贝到系统的安装目录 sta ll Sh ie ld中利用 In sta llSc rip t编程设置而不能用手
下 。按照此方法 ,可将数据库驱动有关文件拷贝到 动完成 。
系统的主目录下数据库子目录譬如 < TAR GETD IR
> \ sq lany,可将某些初始化文件拷贝到 < TAR GET -
( ) 作者简介 :高雪松 1977 - ,男 ,安徽桐城人 ,硕士研究生 ,研究方向 :数据挖掘 、嵌入式 L INUX、数字图像处理 。 收稿日期 : 2004 - 04 - 08
) sq lany \ " , " " , R EGDB _STR IN G, " " , - 1; D IR > \ in it等 。 ( R egDB Se tKeyV a lueEx " softwa re \ odbc \ ODBC IN ST. IN I \ 3. 4 配置数据库) sq lany \ " , " d rive r" , R EGDB _STR IN G, svwod50 t, - 1; In sta ll Sh ie ld 对数据库的配置主要是通过使用( R egDB Se tKeyV a lueEx " softwa re \ odbc \ ODBC IN ST. IN I \ 提 供 的 In sta llSc rip t 语 言 编 写 程 序 来 完 成 的 。 In2 ) sq lany \ " , " se tup " , R EGDB _STR IN G, svwod50 t, - 1;
( R egDB Se tKeyV a lueEx " softwa re \ odbc \ODBC IN ST. IN I\OD 2 sta llSc riip t语言是一种高级语言 ,其语法类似于 C语 ) BC D rive rs \ " , " sq lany" , R EGDB _STR IN G, " In sta lled" , - 1; 言 ,大小写敏感 ,提供了大量的函数可供调用 。将数 / /设置数据库启动运行参数 据库文件拷贝至系统的安装目录后 ,由于 SQLA ny2( ) R egDB Se tD efau ltRoo t H KEY_CURR EN T_U SER ;
( R egDB Se tKeyV a lueEx " softwa re \ odbc \ odbc. in i \ odbc da ta whe re5数据库文件 和数 据库 日 志文 件是 一 一对 应
) sou rce s \ " , svdbp rofile, R EGDB _STR IN G, " sq lany" , - 1 ; 的 ,必 须用 命令 将 他们 联系 起 来 。在 In sta ll Sh ie ld ( R egDB Se tKeyV a lueEx " softwa re \ odbc \ odbc. in i \ " + svdb2 ( ) 中提供 了 LAUNCHA PP svcomm and, svcm d line 函) p rofile, " au to stop " , R EGDB _STR IN G, " ye s" , - 1; 数 ,可启动运行外部程序 。 SQLA nywhe re5 数据库提 ( R egDB Se tKeyV a lueEx " softwa re \ odbc \ odbc. in i \ " + svdb2
) p rofile, " da taba sefile" , R EGDB _STR IN G, svdb, - 1; 供了联系日志文件和数据库文件的函数 db log,拷贝 ( R egDB Se tKeyV a lueEx " softwa re \ odbc \ odbc. in i \ " + svdb2 文件时必须将 db log. exe 文件连同数据库引擎文件 ) p rofile, " da taba senam e" , R EGDB _STR IN G, svdbp rofile, - 1 ; 一同拷贝到数据库目录 。文件拷贝完成后 ,联系过 ( R egDB Se tKeyV a lueEx " softwa re \ odbc \ odbc. in i \ " + svdb2
程可用 In sta ll Sh ie ld简单编程如下 :) p rofile, " d rive r" , R EGDB _STR IN G, svwod50 t, - 1;
( ) / /假定 数 据 库 文 件 m ydb. db 拷 贝 在 主 安 装 目 录 ( R egDB Se tKeyV a lueEx " softwa re \ odbc \ odbc. in i \ " + svdb2 ( ) svD IR ,而数据库引擎文件 m ydb.log拷贝在主安装目录的) p rofile, " pwd" , R EGDB _STR IN G, " gao" , - 1;
子目录 / / svD IR \ sq lany下( R egDB Se tKeyV a lueEx " softwa re \ odbc \ odbc. in i \ " + svdb2
svcomm and = svD ir + " \ sq lany \ db log - t" + svD ir + " \m y2 ) p rofile, " u id" , R EGDB _STR IN G, " dba" , - 1 ;
db. log" + svD ir + " \m ydb. db" ; / /命令格式( R egDB Se tKeyV a lueEx " softwa re \ odbc \ odbc. in i \ " + svdb2
) svcm d line = " " ; / /命令参数p rofile, " sta rt" , R EGDB _STR IN G, svsta rt, - 1;
( ) 启 动 外 部 程 序 / /L aunchApp svcomm and, svcm d line ; 3. 6 设置启动菜单及桌面快捷方式 命令 在 In sta ll Sh ie ld 提供 的函 数 Se tup Fo lde rs中 写 3. 5 操作注册表 ,配置数据库数据源 入以下语句可设置启动菜单和桌面快捷方式 。 Powe rB u ilde r程序是通过 ODBC 与数据库相连svp a th = TAR GETD IR + " \m ydb. exe" ; 接的 ,绝大多数机器已安装了 ODBC ,但对于不同的 ( ) LongPa thToQ uo te svp a th, TRU E; 数据 库 ODBC 需 要 配 置 数 据 库 数 据 源 , 即 D SN。 ( A ddFo lde r Icon FOLD ER _PRO GRAM S^"数据库程序 " , "我 D SN 的配置对应于注册表的两项 : H KEY _LOCAL _ ) 的程序 " , svp a th, " " , " " , 0, " " , R EPLACE;MACH IN E \ SO FTWAR E \ ODBC \ ODBC IN ST. IN I和 ( A ddFo lde r Icon FOLD ER _ D ESKTO P, " 我 的 程 序 " , sv2H KEY_CURR EN T _U SER \ SO FTWAR E \ ODBC \ OD 2 ) p a th, " " , " " , 0 , " " , R EPLACE;
svp a th = TAR GETD IR ^UN IN ST_LO GF IL E_NAM E; BC. IN I。
( ) LongPa thToQ uo te svp a th, TRU E; 在第一项中要设置数据源并配置好数据库引 ( A ddFo lde r Icon FOLD ER _PRO GRAM S^"数据库程序 " , "卸 擎 , 在 第 二 项 配 置 好 数 据 源 具 体 的 启 动 参 数 。 载我 的 程 序 " , " c: \ w indow s \ IsU n0804. exe - f " + sv2SQLA nywhe re5 的数 据 库引 擎主 要 是 wod50 t. d ll文 ) p a th, " " , " " , 0 , " " , R EPLACE;
件 ,而启动参数要给 出 数据 库文 件路 径 、数 据源 名 至此安装制作设置已全部 完 成 , 点击“制作 向 称 、数据库驱动程序 、用户名 、密码以及数据库启动 导 ”菜单即可生成专业的安装程序 。 程序 及 参 数 等 。 In sta llSc rip t 提 供 了 R egDB Se tKey2 4 结 束 语
( ) V a lueEx szKey, szN am e, nTyp e, szV a lue, nSize 、R eg2随着计算机的应用越来越广泛 ,计算机应用系
统的易用性越来越受到重视 ,这其中一个专业的安 ( ) DB Se tD efau ltRoo t nRoo tKey等函数来操 作 注册 表
装程序是非常必要的 。 In sta ll Sh ie ld 功能强大但使 以完成数据库数据源的配置 ,以下以数据源名称为 用操作还是相对比较复杂 ,尤其是 In sta llSc rip t语言 M YDB ,数据库文件为 m ydb. db, 用户名 DBA , 密码 的运用和有关对注册表的操作 ,本文虽仅对如何制 sq l为例给出具体配置源代码 :作数据库程序做了探讨 ,对其它系统的安装制作亦 svdbp rofile = "M YDB " ; / /数据源名称 有借鉴作用 。 svdb = TAR GETD IR + " \m ydb. db" ; / /数据库文件 参考文献 :svwod50 t = TAR GETD IR + " \ sq lany \ wod50 t. d ll" ; / /数 据
库引擎[ 1 ] 刘艺 . In sta ll Sh ie ld 5快速制作安装盘 [M ]. 北京 :水利 - Q " ; / /数据库 svsta rt = TAR GETD IR + " \ sq lany \ dbeng50 水电出版社 , 1999. 启动程序及参数[ 2 ] 张君 . 引人入胜 In sta ll Sh ie ld 6. x /VB /VC /D e lp h i安装 / /注册数据源并配置数据库引擎程序设计与制作 [M ]. 2002. ( ) R egDB Se tD efau ltRoo t H KEY_LOCAL _MACH IN E; [ 3 ] 张铭等 . 精通 In sta ll Sh ie ld 6 [M ]. 北京 : 清华大学出版( R egDB Se tKeyV a lueEx " softwa re \ odbc \ ODBC IN ST. IN I \ 社 , 2001.