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. having的用法以及与where区别介绍

    having子句可以让我们筛选成组后的各种数据,having子句在查询过程中慢于聚合语句,接下来通过实例介绍下,感兴趣的你可以参考下,希望可以帮助到你 having的用法 having子句可以让我们筛 ...

  2. PHP如何让apache支持.htaccess 解决Internal Server Error The server …错误

    TP框架  打开 www.newtp.com/index.php/Home/Index/abc出现 如下错误: Internal Server Error The server encountered ...

  3. macos 配置 golang 开发环境

    初次接触golang这门编程语言,一下子就喜欢上了,语法简洁优雅,对于以前有c/c++编程经验的人来说会更加有亲切感. 仅仅学习了一天就能应用beego框架和mogodb数据库开发一个rest api ...

  4. NPOI组件集锦

    关于NPOI不错的介绍:http://www.cnblogs.com/restran/p/3889479.html http://www.cnblogs.com/Irving/archive/2012 ...

  5. 在Excel里如何将多个工作簿合并到一个工作簿中

    在Excel里如何将多个工作簿合并到一个工作簿中 当你必须将多个工作簿合并到一个工作簿时,你遇到过麻烦吗?最让人心烦的就是需要合并的工作簿里有很多张工作表.有人能推荐方法解决这个问题吗? 利用VBA ...

  6. ios9中 UIStackView的使用

    ios9中 UIStackView的使用 by 伍雪颖 UIStackView能够垂直或水平排布多个subview, 自己主动为每一个subview创建和加入Auto Layout constrain ...

  7. android 72 确定取消对话框,单选对话框,多选对话框

    package com.itheima.dialog; import android.os.Bundle; import android.app.Activity; import android.ap ...

  8. 使用lua给wireshark编写uTP的Dissector

      lonelycastle做uTP的实验,使用wireshark捕包,但是最初没有找到wireshark下的uTP的dissector,每次都需要比对文档,这样做实验理解报文含义,效率非常低.作为程 ...

  9. JavaScript 应用开发 #4:切换任务的完成状态

    在勾选了任务项目左边的对号(复选框)以后,会将任务的状态标记为已完成,取消勾选的话,又会把任务的状态标记为未完成.所以, 我们需要一个可以切换任务完成状态的方法.在任务模型里面,表示任务状态的属性是 ...

  10. C#随机函数random()典型用法集锦

    C#随机函数random()典型用法集锦 Random.Next() 返回非负随机数: Random.Next(Int) 返回一个小于所指定最大值的非负随机数 Random.Next(Int,Int) ...