NSIS学习笔记之脚本结构简介

来源:互联网 发布:大学生it培训机构 编辑:程序博客网 时间:2024/06/05 03:53

NSIS学习笔记之脚本结构简介

简介

NSIS (Nullsoft Scriptable InstallSystem) 是 Windows 下的一个工具,它允许程序员来创建安装程序,NSIS 创建的安装程序能够安装、卸载、设置系统设置、解压文件等等。它基于脚本文件工作,你可以完全的控制安装程序的每一部分:脚本语言支持变量、函数、字串等操作。

本文主要是介绍NSIS脚本相关的概念,给初学者一个快速入门的指导,对于详细的功能请阅读随机附带的帮助文档。

脚本结构

一个NSIS脚本一般包括:安装程序属性、页面、区段和函数。

属性

属性主要是设置安装程序的动作、外观和行为习惯等内容。大多数属性在运行时不能被修改。最常用属性的有:Name(设置安装程序名称)、OutFile(设置安装程序文件名)。

页面

一个非静默安装程序需要使用向导页面来指导用户安装,页面(page)就是用来设定这些页面。一个典型的安装程序脚本一般包含以下定义:

Page license

Page components

Page directory

Page instfiles

UninstPage uninstConfirm

UninstPage instfiles

 

更多高级设置也已使用 PageEx等命令。

 

NSIS提供了很多内置的页面,对于内置的页面,都有三个回调函数:预置函数、创建函数和离开函数。

对于自定义的页面,仅有两个回调函数:创建函数和离开函数。

区段

区段是安装程序执行安装任务的实体,它安装程序真正的核心部分,它的执行时机对应于”page instfils”页面。

在一个程序安装过程中,往往需要安装很多内容,使用区段可以将这些内容进行“逻辑划分”,体现在安装程序中就是安装组件。例如在NSIS安装时,你可以选择安装源码、附加插件、脚本样例或其他组件。每一个组件就是脚本中定义的一个区段,当安装时用户选择了某个组件,这个组件对应的区段中的代码就会被执行。

区段包含可见区段和隐藏区段。

另外,卸载程序也可以有多个区段,其区段名前必须要加上前缀“un.”

如果在安装脚本中设置了”Page ComponentText“,那么安装时就会显示一个安装组件选择页面,用户可以选择全部或部分组件。只有用户选中的组件才会被安装。如果脚本中不设置”Page ComponentText“,安装程序不会给用户显示组件选择页面,所有的组件都会被安装。

区段名称为空或以”-”开头,则为隐藏区段,隐藏区段不会显示给用户,会自动执行。

函数

函数是完成某些特定的功能的指令集合,它与区段类似之处在于都可以包含零个或多个指令。其中用户自定义函数不会被安装程序直接调用,而必须在区段里使用 Call 指令来调用。

回调函数会在特定事件发生时,由安装程序调用。

函数必须在区段或其他函数之外声明。

0 0
原创粉丝点击