使用NSIS脚本语言编写安装程序

(整期优先)网络出版时间:2009-06-12
/ 1

摘 要 简述了NSIS,以及它的功能和特点,并通过实例程序阐释了此脚本语言的结构、风格和运行方式。大家可以看到使用它来制作安装程序简单快捷。重点在于如何理解NSIS脚本语言、如何使用多语言支持、如何加入欢迎图片、如何在安装程序中加入对话框等。文中的实例可以作为样本进行修改和补充,以得到更多的功能。
关键词 NSIS,安装程序,组件,卸载程序

多数软件在使用前都需要进行安装。用户在使用软件前的第一印象会来自于安装程序。所以开发商就需要将这一过程做的尽可能方便、快捷和功能齐全,当然更不愿意另外增加软件开发成本。在现今众多的安装程序制作软件中,NSIS是不错的选择之一。不单单因为它是开源的,更重要的是语言风格简明清晰、易于上手。一个标准的安装程序您只需要半天就可以制作完成。
一、 NSIS简介
NSIS的全名是Nullsoft Scriptable Install System,即Nullsoft 脚本安装系统。大家可能对Nullsoft这个名字不熟悉,但是应该听说过音乐播放器Winamp,这个软件就是由Nullsoft公司出品发行的。在开发NSIS之初的目的就是为方便制作Winamp安装程序,后来公司将其作为一个开源项目公布在网上。可以在它的官方网站(nsis.sourceforge.net)上下载到这个软件。官方网站上除了这个软件的最新版,还有很多有价值的资料,如它的源代码、教程、相关插件、以及更多的帮助信息。
NSIS对于软件的附加开销很小,而且程序速度快效率高。它具有三种压缩方式,分别是Zlib、BZipL和LZMA。压缩和解压的代码在制作安装程序时就被整合到一起,不需要其他程序的支持。可以制作多语言安装。除了其自身所带的四十多种语言,还可以建立新的语言库。在安装界面的样式方面,有典型和现代两种可选。这两种界面都具有很好的外观和实用性。而且很多软件都在使用它们,例如:Alcohol、Apache、AVG Anti-Spyware、Flash Player、Gtalk等。支持网络安装和制作补丁程序。它的插件系统可以帮助我们完成一般安装程序不可能完成的任务,如序列号计算验证、光驱控制、外部开发程序检测、光标设置、系统硬件检测等。除了以上功能和特点,还有很多这里就不一一介绍了。最后需要指出的是NSIS只针对Windows系列的操作系统。
二、 NSIS脚本程序
这里有必要先说一下脚本语言。脚本语言是一种比系统程序设计语言更高级的语言。它是被解释器所解释,而程序设计语言是被编译器所编译。过去由于它运行效率低而不常被程序员使用。但是在计算机硬件和操作系统经历了一系列的更新换代后,脚本语言的很多优点显现出来,效率已不再是问题。其中最重要的优点是它易学易用,上手快。
NSIS就是基于脚本的安装制作程序。它的脚本程序使用文本编辑器即可进行编写,主程序代码文件的扩展名规定为nsi,而库程序代码的扩展名规定为nsh,使用!include来导入。
1. 脚本中对于安装程序属性的设置