OnFirstUIBefore:函数块用于第一安装应用时安装部件前所要完成的任务。一般在这里进行下列设:
1. 设置屏蔽
2. 显示欢迎信息,软件协议书或关于软件安装的其他说明信息
3. 从用户处获取信息,如注册信息,安装的目标位置,安装类型等
=====================================================================
当创建一个安装工程后,InstallShield会创建下面两个脚本文件:
- 用于全局事件处理程序和异常处理程序的Setup.rul
- 用于部件事件处理程序的ComponentEvents.rul
每个安装脚本都包含声明和函数块。声明可以出现在函数块之前或是出现在一个函数语句与该函数的begin语句之间。InstallShield脚本一般具有如下结构形式:
//常量定义,全局数据声明和函数声明
…
//函数块
…
所有安装脚本均以全局数据的声明开始。在这里,你可以定义常量和声明一些全局函数。声明 部分用来告诉编译器后面的脚本会用到哪些名称,同时在函数和其属性或值之间建立联系。当然,如果是内建函数,你就不必再对其加以声明了。
1.//常量定义
#define PRODUCT “InstallShield”
#define LIMIT 100
//变量声明
CHAR cVal;
NUMBER nVal;
STRING SZName;
prototype DisplayMsg(NUMBER,STRING)
prototype GetName(BYREF STRING)
InstallShield系统变量:
MAINTENANCE:在安装程序第一次运行
SRCDIR:包含了源文件夹的完整路径
SRCDISK:包含了源文件所在的驱动器名称
SUPPORTDIR:包含了用于存放临时文件的文件夹的完整路径
SYSINFO:包含了目标计算机上的操作平台的标志信息
TARGETDIR:包含了安装程序在硬盘上的目标文件夹的完整路径
WINDIR:包含了存放主操作环境的文件夹的完整路径
WINDISK:包含了存放主操作环境的盘符的名称
WINSYSDIR:包含了Windows\System文件夹的完整路径
WINSYSDISK:包含了Windows\System文件夹所在盘符的名称
常量:是一个定义了值的数据项。InstallShield支持两种类型的常量:预定义常量和用户自定义常量。
可以通过SprintfBox函数来了解某个预定义常量的值到底是什么。
SprintfBox(INFORMATION,””,”%d”,COMPONENT_FIELD_SELESCTED);
标点符号声明:
- 大部分语句以“;”结束,这种要求也适合用于那些独立的语句,例如end;,exit;,return;等等
- 关键字program,endprogram和begin等要放到单独一行中,并且不带任何标点符号,同时,每个函数块的第一行也不带标点符号
- 预处理语句后面不带“;”,例如#define,#include
- 在符号后面要使用冒号,例如:start:starthere:
- 用括号将参数表扩起来,当参数表中有多个参数时,应该用逗号将它们隔开
操作符:
1. 地址操作符
2. 算术操作符
3. 赋值操作符