电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

制作一个完整的应用程序安装实例

  • 资源ID:35018955       资源大小:536.50KB        全文页数:14页
  • 资源格式: DOC        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

制作一个完整的应用程序安装实例

探索 InstallShield 制作一个完整的应用程序安装实例 夏翔 01-8-1 下午 03:01:20 大家一定有过这样的经历, 每当我们殚精竭虑为用户开发完一个系统之后往往都是派一名技术员 到用户那里进行应用软件的安装,数据 库的配置, 这些看似简单的配置对一般用户来说可不是件容易 做的事。这不仅给那些喜欢力求完美的程序 设计师带来一点 遗憾外,而且也使我 们设计出来的软件缺 少一种安全可靠感。如果我们在交给用户软件的时候能给他们一个象一些专业软件的安装程序, 这不 仅给用户留下了一个良好的第一印象,同时也节省了开发维护成本。 要说起制作安装程序的软件有许多,像 InstallShield,CreateInstall,Easy Install,EasySetup,SetupBuilder 等等,可以 举出一大堆来。但其中最 为著名的当属 InstallShield。目前世 界上绝大多数的商业软件的安装盘都是用她来完成,比如我们可能天天在使用的 Norton AntiVirus 2000。 InstallShield 之所以很流行也 许是因为程序员可以在通过编写脚本语言方便的进行 Windows 应用程 序的注册表修改、ODBC 配置等复杂的操作,以及她本身提供了一些相当智能化的功能。下面,就本人 在实际开发中的一些所得和大家一起探讨,文中如有任何不妥之 处还请同行们给予指教。 在讲述到数据库配置的一系列问题是以目前最常用的 ODBC 接口为基础,文中用到的 实例是在 WIN98 系统中,InstallShield 用的是 Professional 6.21 下开发和调试的,其中的 应用程序实例用的 PowerBuilder 7.0 下开发的演示程序。 第一步:快速体验 首先,我们可以来快速体验一下用 InstallShield 制作的安装程序是什 么样的。 当然,我不可能详细到怎样建立一个 项目之类的问题,有 关这方面的内容还请看 InstallShield 的入 门教材。 第二步:;InstallShield 初探 首先,用 Project Wizard 建立一个新的项目,取名 Demo,同时在对话框中选择所有的选项,并且在 语言选择中选择 Chinese(PRC)和 English,即 简体中文和英文支持。当然你也可以 选择其它语言, 为了 便于讨论我只选择了 Chinese(PRC)和 English。 运行一下试一试,一切都正常,只是一个空壳罢了,没有任何 东西。 好了,战斗的号角已经吹响了, 让我们集中精力个个歼灭。 一、 语言选择由于我们在生成项目的同时在语言选择中选择了 Chinese(PRC)和 English,因此,在图 01 中的下拉 列表框中会自动出现中文,英文的 选项。 这一步由模板自动完成,我 们不要做任何事情。 二、 设置启动画面 在我们生成项目的同时,InstallShield 会为我们缺省的放上一 张启动画面。 见图 16。从该图片上我们可以看出,一般情况下是放置一张能很好的代表你公司的 图片,同 时上面很清楚地 标明你的应用程序的名称,版本,公司名称,版权归属等基本信息。毫无疑 问,我 们必须用我们自己的 图片来替换它。替换的方法是,在 Setup File 面板中,打 开 Splast Screen,找到 Language Independent, 这时我们会发现在它右边的列表中有一个文件 Setup.bmp,它就是 图 18 的那一张,我 们必须首先把它 删除,然后再插入我们想要的那一 张,在列表中任何一个位置点 击鼠标右键,选择 Insert Files,用一个 BMP 文件替换它就行了。注意,我 们替换的图片的文件名必 须是 Setup.bmp。 另外,顺便提一下,在 Splash Screen 下除了 Language Independent 分支外, 还有 Chinese(PRC)和 English 分支,如果在它们中放置不同的 Setup.bmp 文件,那 么系统会根据用户在安装前选择了不同的 语言而启动不同的背景,这样可以有效地避免多国语言的 烦恼。同样,在 设置法律声明(许可协议)和自 述文件的时候也是一样的。 三、 开始安装这一步由系统自动给出,我 们不要做任何事情。但是我 们可以在这里进行软件安装前的准备工作。 比如,操作系统判断,机器可用内存容量的检测等, 这些往往被忽视。 当我们用项目向导生成的新项目时,InstallShield 只为我们生成两个事件,分 别是 OnFirstUIBefore 和 OnMoving,它 们的意义是, OnFirstUIBefore:在应用程序第一次安装时为了搜集用户信息而弹出的对话框之前, 应用程序所响 应的事件。 OnMoving:该事件在当所 选择的安装组件正在安装或反安装时响应。 显然,准备工作可以在事件 OnFirstUIBefore 中完成,但 InstallShield 同时还为我们提供了事件 OnBegin,该事件在是在 Setup 脚本中第一个被触发。 还记得图片 02,上面有个 进度条, 显示了“正准 备 InstallShield(R)向导.”,当 该进度条结束后就首先调用 OnBegin,然后才是 OnFirstUIBefore。因此,我 们 可以将一些前期的准备工作放到这里来完成。下面是如何具体 实现。 1、首先,如何添加 OnBegin 事件? InstallShield 将事件分成三 类:全局事件, 组件事件和杂项事件。其中,全局事件的添加最为方便, 只要将当前行光标移到 Serup 脚本的最后,然后写上 function OnBegin() begin . / 函数体 end; 就行了。 2、实现操作系统的识别 像其它编程工具一样,InstallShield 也为我们提供了一些系 统变量,利用 这些变量我们可以轻而易举的得到一些像系统目录, 语言代码,CUP 类型等实用数据。 具体实现代码如下: /*程序代码*/ Function OnBegin() Begin if ( !SYSINFO.bIntel) then szMsg = “提示:该软件只能运行在 Intel 系列的处理器上!nn 安装程序将终止“; MessageBox(szMsg, SEVERE); abort; endif; if (SYSINFO.WIN9X.bWinMe | SYSINFO.WINNT.bWinNT | SYSINFO.WINNT.bWinNT4 | SYSINFO.WINNT.bWin2000) then szMsg = “提示:该软件只能运行在 WIN9X 系统上才能确保程序的正常工作!nn 是否继续安装? “; if ( !AskYesNo (szMsg, NO) then abort; endif; endif; end /*结束*/ 相关变量:SYSINFO 存放本机的一些系统变量,如操作系 统,CUP 类型等。有 关系统变量的具体使用请参阅编程手册。 相关函数:AskYesNo 该函数弹出一消息窗口,用户通过按是或非来回答该窗口 显示的问题。 3、实现内存容量的检测 在查阅了 InstallShield 系统变量后并没有找到有关内存容量方面的变量,因此只有通 过调用函数来 实现。 相关函数:GetSystemInfo() 该函数返回有关目标系统的诸如 CUP 类型,磁 盘容量,当前日期,当前操作系 统,内存容量等信息, 返回的内存容量是以千字节为单位。有 关函数的具体使用 请参阅函数手册。具体实现代码如下: /*程序代码*/ if (GetSystemInfo (EXTENDEDMEMORY, nvFreeMem, svResult) < 0) then MessageBox (“内存检测失败,安装程序将 终止!.“, SEVERE); abort; endif; if ( nvFreeMem < 16384 ) then szMsg = “该软件只能安装在 16M 以上内存的机器中。n 很遗憾,本机器可用内存不足 16M!nn 安装程序将终止!“; MessageBox (szMsg, SEVERE); abort; endif; / end. /*结束*/ 四、 许可协议 选择 Setup File 面板,打 开 Language Independent, 选择 Operating System Independent ,在右 边列 表中找到 License.txt 文件,双击它 输入自己的许可协议就行了。 五、 Readme 文件同上,找到 Infolist.txt 文件,双 击它输入需要说明的自述文件。 六、客户信息 看一看图片,不难发现当安装程序运行 这一步时上面已经填上了缺省的用户名和客户名称,甚至 连 序列号都有。这是怎么回事呢?原来在前面我 们介绍的事件 OnFirstUIBefore 的开始有一段代码,如下: nSetupType = TYPICAL; TARGETDIR = PROGRAMFILES COMPANY_NAME PRODUCT_NAME; szDir = TARGETDIR;SHELL_OBJECT_FOLDER = FOLDER_NAME; svName = “; svCompany = “; svSerial = “; 如果我们没有给 svName 和 svCompany 赋新值的话缺省的用户名和客户名称就是我们在安装 Windows 时注册的用户和单位。当然,如果没有 给 svSerial 赋值的话, 图片上的序列号就为空。 相关系统变量: PROGRAMFILES:存放 Windows 程序文件夹(Program files)的完整路径。不能更改。 七、 序列号判断 用 InstallShield 安装模板制作出的安装程序在运行过程如果没有序列号是无法再继续下去的。但如果我 们在序列号上不加任何检验的话,InstallShield 会默认为任何字符都是有效的而不管它是什 么,此 时序列号 也就毫无意义,除非你想让你的 应用程序无限制的发布。因此, 还是建议你在安装过程中对序列号进行一下 有效性检验。方法很简单,在事件 OnFirstUIBefore 中找到 Dlg_SdRegisterUserEx 分支, 见下列代码: Dlg_SdRegisterUserEx: szMsg = “; szTitle = “; nResult = SdRegisterUserEx( szTitle, szMsg, svName, svCompany, svSerial ); if (nResult = BACK) goto Dlg_SdShowInfoList; 在语句 if (nResult = BACK) goto Dlg_SdShowInfoList; 前添上相应的序列号校验程序/*增加序列号的检验 if ( svSerial != '199721') then MessageBox(“警告:输入序列号错误, 请确认后重输!“,SEVERE); goto Dlg_SdRegisterUserEx; endif; /end. 就这么简单。声明一下,这里我只是给出的最简单的判别模式, 较为安全的模式是在判别时对序列 号进行必要的加解密转换,有 兴趣的朋友可以自己去实现。 八、 安装文件夹 在一般情况下,InstallShield 默 认的安装文件夹是存放 Windows 程序文件夹

注意事项

本文(制作一个完整的应用程序安装实例)为本站会员(cjc****537)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.