欢迎来到天天文库
浏览记录
ID:40712801
大小:819.00 KB
页数:45页
时间:2019-08-06
《一个完整的Installshield安装程序实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一个完整的Installshield安装程序实例--高级设置一2010-11-1913:14116人阅读评论(0)收藏举报目录(?)[+]1.第二部分脚本编程1.显示软件许可协议2.判断是否安装了本软件所需要的先决软件或运行环境3.用户的输入信息所选安装路径所选安装组件显示在安装界面上第二部分:脚本编程在开始进行编程前,我们先明确一下我们要用编程来弥补前面设置的哪些功能的不足1.显示软件许可协议2.判断是否安装了本软件所需要的先决软件JKD1.6.0_04,如无,则启动外部安装程序进行安装(同样原理可以用来判断是否安装了其他软件,只要该软件在注册表中有键值)3.用户的输入
2、信息、所选安装路径、所选安装组件将显示在安装界面上(Installshield虽然自带了此界面,但是默认是显示为空的,需要写脚本来显示信息)4.根据用户选择的组件,从外部文件夹拷贝相应的文件到安装目标路径的文件夹中5.根据从外部拷贝进来的文件,创建快捷方式(这里主要是拷贝文档,并在开始菜单中创建快捷方式)6.在安装结束时,显示readme.txt文件7.在安装结束后,启动指定的程序8.完美卸载脚本编程这部分都将在InstallerDesigner这个界面进行。后面不再赘述。Installshield大小写敏感,因此请严格按照示例上所写的大小写规则来书写。例:字符串变量ST
3、RING和string都支持,但是String不支持。1.显示软件许可协议1.添加许可协议文本在左边导航树上找到BehaviorandLogic
4、SupportFiles/Billboards选项。这个选项允许用户添加一些在安装过程中需要用到的文件。中间的导航栏会显示对应的选项在SupportFiles分支下,会显示一个LanguageIndependent和所有你所选择的语言类型。LanguageIndependent意为,如果你在这里分支下做了设置,那么无论选择用何种语言安装,这个设置都会生效;而各个语言类型意为,如果你在某语言下做了设置,那么这个设置只有在选择了用这
5、种语言安装的时候才会生效。点击LanguageIndependent,这次我们将在这个分支下进行试验。在右边的Files栏中右键点击,在弹出菜单上选择InsertFiles选项。选择事先撰写好的许可协议的文本文件,插入到Files栏中。许可协议允许两种文本格式:txt和rtf格式,此处我们采用txt格式。2.然后切换到BehaviorandLogic
6、InstallScript选项,3.中间的导航栏Files下有一个默认的Rul文件Setup.Rul,我们这个工程的全部installscript代码都将写在这个默认文件里4.点击选中Setup.Rul节点,右边会显示该文件
7、的可编程面板。5.许可协议应该在一开始运行安装程序的时候就显示,也就是在拷贝数据前。请在第一个下拉框中选择BeforeMoveData选项,然后在第二个下拉框中选择OnBegin选项(不要因为默认显示的是这两个选项,而不做这个打开下拉列表进行选择的动作,否则软件检测不到你选择了选项,无法自动添加代码),则编程界面上会自动添加一些代码如下图所示。当然,如果你手动敲代码上去也是可以的。6.我们将在functionOnBegin()的函数体里面写代码来显示刚才添加的许可协议文本的内容,直接把下面的代码拷贝到OnBegin()函数的begin和end;之间就可以了Disable(
8、BACKBUTTON);if(!MAINTENANCE)thenSdLicense2("License","","",SUPPORTDIR^"2.txt",FALSE);endif;.7.代码解释************************************************************************Disable(BACKBUTTON);将“上一步”按键设置为不可用。安装程序在一开始的时候会有一个默认的开始界面,第二步才显示许可协议,一般来说没必要回退回去看这个什么都没有的开始界面,因此将回退按键设置为不可用************
9、************************************************************if(!MAINTENANCE)thenendif;这一个条件用来判断安装程序处于何种状态,安装、修复、重新安装或卸载状态,后三者都属于MAINTENANCE状态,因此判断只有在正常安装的状态才显示许可协议************************************************************************SdLicense2("License","","",SUPP
此文档下载收益归作者所有