模板网站如何建站,怎么注册公司都需要什么手续,东莞网站建设属于什么专业,制作营销网页一、NSIS简单介绍 NSIS#xff0c;全称为Nullsoft Scriptable Install System#xff0c;即脚本安装系统#xff0c;用于创建安装程序#xff08;安装包#xff09;#xff0c;使得安装程序具备安装、卸载、设置系统设置以及解压文件等功能。此工具在开源许可下发布…一、NSIS简单介绍 NSIS全称为Nullsoft Scriptable Install System即脚本安装系统用于创建安装程序安装包使得安装程序具备安装、卸载、设置系统设置以及解压文件等功能。此工具在开源许可下发布对于任何使用都是完全免费的。 NSIS作为最小可用的脚本安装系统基于脚本文件支持变量、函数和字符串操作可以完全控制安装程序的每个部分。创建一个NSIS安装程序之前必须编写一个NSIS脚本可使用任何文本编辑器来进行脚本编写。NSIS脚本是一个使用NSIS语法编写的以.nsi为文件后缀的常规文本文件其中的每一行被看作是一个命令如果命令过长那么可以可以使用\来连接下一行命令。 从NSIS v3.0开始您可以通过设置Unicode属性来选择创建Unicode安装程序。这些安装程序不能在Windows 95/98/ME上工作但它们允许以操作系统支持的任何Unicode语言显示安装程序。 二、NSIS脚本结构 NSIS脚本包含四个部分安装程序属性Attribute、页Pages、部分Section以及功能Functions。
1、Attribute 安装程序的Attribute决定了安装程序的行为和外在风格。通过定义Attribute可以改变安装程序显示界面的文字以及安装类型的数量等等。大多数这些命令只能在脚本中被设置然后编译输出安装程序在运行过程中不可以被修改。基础的Attribute指令诸如Name定义安装程序的名称、InstallDir定义安装程序默认的安装目录等等。示例如下
OutFile .\${SETUP_EXE_NAME}
Name ${PRODUCT_NAME}
InstallDir C:\Windows\System32\drivers\
2、Pages 非静默安装程序有一组向导页面让用户来配置安装程序可以通过使用Page命令来设置页的显示。一个典型的设置如下
Page license
Page components
Page directory
Page instfiles
UninstPage uninstConfirm
UninstPage instfiles 以上将显示许可协议允许选择要安装的组件允许选择安装目录最后在instfiles页面中安装所选组件。对于卸载程序它将显示一个确认页面并在instfiles页面中卸载。
3、Sections 对于安装程序来说用户可以安装一些东西是很常见的比如选择安装其他的工具、插件、示例等等。每个组件都有自己的一段代码如果用户选择安装这个组件那么安装程序将执行该代码此代码在脚本的section部分中被定义。在组件页面中每个section对应一个组件section的名称将显示为组件名字在用户选择该section对应的组件时将执行section部分的代码。示例如下
Section Installer Section
SectionEndSection un.Uninstaller Section
SectionEnd 在以上示例中有2个section也可以使用一个section来构建安装程序如果需要用户来选择安装组件那么需要编辑多个section。在section中使用的指令可以是提取文件、读取和写入注册表、INI文件或普通文件、创建目录、创建快捷方式等等。最基本的指令是SetOutPath告诉安装程序在哪里提取文件以及哪个文件提取文件。示例如下
Section My ProgramSetOutPath $INSTDIRFile My Program.exeFile Readme.txt
SectionEnd
4、Functions Functions类似sections可以包含脚本代码不同在于代码被调用的方式。代码被调用的方式有用户函数和回调函数两种类型。 首先是用户函数。用户函数由用户在section或其他function中使用call指令进行调用。执行完function中的代码后安装程序将继续执行调用指令之后的指令。如果有一组需要在安装程序中的几个位置执行的指令那么用户函数非常有用节省复制的事件也易于维护代码。 其次是回调函数。一旦确认被定义的事件例如安装程序开始运行回调函数将被安装程序调用。调用是可以选择的例如下面例子通过定义一个名为.onInit的函数欢迎用户使用安装程序那么。NSIS编译器将会通过名字识别到这个函数作为一个回调函数并在安装程序开始运行时进行调用。
Function .onInitMessageBox MB_YESNO This will install My Program. Do you wish to continue? IDYES gogogoAbortgogogo:
FunctionEnd 三、NSIS安装程序 通过使用“MakeNSIS”程序编译NSIS脚本.nsi文件生成一个可执行的NSIS安装程序。nsi脚本的编译运行一方面可以通过NSIS开发工具安装程序设置电脑然后右键点击.nsi文件并选择编译另一方面可以通过在命令行中通过命令来编译运行语法如下
makensis [ option | script.nsi | - ] [...] 以上命令的参数将按顺序处理参数的位置不同命令将不同。如果指定了多个脚本这些脚本将会被视为一个连接的脚本。MakeNSIS程序的基本使用示例如下
makensis.exe myscript.nsi