OnFirstUIBefore:函数块用于第一安装应用时安装部件前所要完成的任务。一般在这里进行下列设:

1. 设置屏蔽

2. 显示欢迎信息,软件协议书或关于软件安装的其他说明信息

3. 从用户处获取信息,如注册信息,安装的目标位置,安装类型等

=====================================================================

当创建一个安装工程后,InstallShield会创建下面两个脚本文件:

  1. 用于全局事件处理程序和异常处理程序的Setup.rul
  2. 用于部件事件处理程序的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);

标点符号声明:

    1. 大部分语句以“;”结束,这种要求也适合用于那些独立的语句,例如end;,exit;,return;等等
    2. 关键字program,endprogram和begin等要放到单独一行中,并且不带任何标点符号,同时,每个函数块的第一行也不带标点符号
    3. 预处理语句后面不带“;”,例如#define,#include
    4. 在符号后面要使用冒号,例如:start:starthere:
    5. 用括号将参数表扩起来,当参数表中有多个参数时,应该用逗号将它们隔开

操作符:

1. 地址操作符

2. 算术操作符

3. 赋值操作符

IS脚本学习的更多相关文章

  1. 笔记——shell脚本学习指南

    <shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...

  2. 06- Shell脚本学习--其它

    Shell输入输出重定向 Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器. 输出 ...

  3. 05- Shell脚本学习--函数

    函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. 函数定义 Shell 函数的定义格式 ...

  4. 04- Shell脚本学习--条件控制和循环语句

    条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...

  5. 03- Shell脚本学习--字符串和数组

    字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似: 单双引号的区别: 双 ...

  6. 02- Shell脚本学习--运算符

    Shell运算符 Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符. 算术运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 aw ...

  7. 01- Shell脚本学习--入门

    简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把它们称作一种Shell.我们常说有多少 ...

  8. Shell 脚本学习资料搜集

    Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...

  9. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  10. 转 shell脚本学习指南

    shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...

随机推荐

  1. zzuoj 10407: B.最大岛屿

    10407: B.最大岛屿 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 12  Solved: 5[Submit][Status][Web Board ...

  2. Linux编辑器的选择使用

    在执行 crontab -e的时候 发现编辑器不对 用的是nano 立刻 sudo select-editor 然后终端返回 Select an editor. To change later, ru ...

  3. div+css的兼容性问题和解决方法

    1. 默认的内外边距不同 问题: 各个浏览器默认的内外边距不同 解决: *{margin:0;padding:0;}   2. 水平居中的问题 问题: 设置 text-align: center    ...

  4. JVM经常使用的调优參数

    -Xms512m -Xmx1024m -XX:MaxPermSize=1204m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+ ...

  5. [转]将某个Qt4项目升级到Qt5遇到的问题

    原文:http://hi.baidu.com/xchinux/item/9044d8ce986accbb0d0a7b87晚上花了4个小时,将以前的一个项目从Qt 4.8.4-MinGW升级到了Qt5. ...

  6. VC/MFC 下 递归遍历目录下的所有子目录及文件

    在MFC下要实现文件夹的递归遍历,可用CFileFind类,依次读取文件夹下的子文件夹和文件,并判断通过判断是文件夹还是文件来决定递归遍历.递归遍历代码如下: /******************* ...

  7. value must be omitted for boolean attributes

    jsx文件中 html5一些标签的属性是boolean的,<div hidden="true">是不被允许的,要改成<div hidden>或<div ...

  8. angularjs ng-repeat checkbox

    <div class="col-md-3" ng-repeat="user in title.UserList"> <p class=&quo ...

  9. CentOS7安装Puppet+GitLab+Bind

    添加Puppet官方源 rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm 安装Puppet yum -y i ...

  10. checkbox复选框

    改变checkbox状态 所有的jquery版本都可以这样赋值:// $("#cb1").attr("checked","checked") ...