当前位置: 首页 > news >正文

建瓯网站制作2022年最火文案

建瓯网站制作,2022年最火文案,苏州高端网站开发,营销到底是干嘛的NSIS教程: 《NSIS用户手册 中文版》 《NSIS图文教程集锦 - 轻狂志》 一. 环境搭建 NSIS是“Nullsoft Scriptable Install System”的简称。从http://nsis.sourceforge.net/Download下载NSIS安装进行安装,安装完之后的目录结构如图: 也可以从…

NSIS教程:
《NSIS用户手册 中文版》
《NSIS图文教程集锦 - 轻狂志》

一. 环境搭建

NSIS是“Nullsoft Scriptable Install System”的简称。从http://nsis.sourceforge.net/Download下载NSIS安装进行安装,安装完之后的目录结构如图:
这里写图片描述

也可以从此处下载:nsis-3.02.1

可以使用任意文本编辑器(推荐notepad++,带语法高亮)来开发NSIS脚本,然后使用makensisw.exe编译NSIS脚本,该工具只提供编译脚本的功能,不能对脚本进行调试。

二. NSIS脚本结构

一个NSIS脚本可以包括安装程序属性页面区段等。
对于一个最简单的NSIS脚本所必需的是OutFile属性(该属性告诉NSIS编译生成的安装包可执行文件的输出路径)和一个区段,如:

OutFile "Simple.exe"Section "Installer Section"
SectionEnd

保存上面脚本到*.nsi文件,并使用makensisw.exe打开编译,如图表示编译成功,成功之后会在脚本当前目录看到输出的Simple.exe;如果编译失败,makensisw.exe会在输出窗口提示失败原因。
这里写图片描述

2.1 安装程序属性

安装程序属性控制安装程序的外观、包括哪个页面出现在安装程序里、在每个页面的每个部分显示什么文本、安装程序的名称(如上面脚本中的OutFile)、使用什么样的图标、默认安装目录、取消什么样的文件等等。
安装程序属性可以在除了区段和函数以外的任何地方设置。
可以理解为安装程序属性是设置给NSIS编译器看的,这些属性值在编译时都已经确定了,所以除了InstallDir以外,其他安装程序属性都不允许使用变量(除了在字串中使用的$\r$\n)。

NSIS支持的完整安装程序属性见:《NSIS用户手册 中文版》 的4.8节。

2.2 页面

页面分为NSIS内置的向导页面用户自定义页面。 一个非静默安装程序需要页面来指导用户运行安装程序,可以通过Page命令或PageEx(PageEx提供了更多高级的设置)命令来设定哪个页面显示。
页面显示的顺序和它在NSIS脚本中定义的次序是一致的。

2.2.1 内置向导页面:

NSIS内置的向导页面有:

  • license:许可证页面。
  • components: 组件选择页面,每个可见的区段都可以作为一个组件给用户选择是否安装。你可以只使用一个区段来构建安装包,但是如果你想要使用组件页来让用户选择可选的组件,那你就需要使用多个区段。
  • directory: 安装目录选择页面。
  • instfiles: 安装过程页面。
  • uninstConfirm: 卸载确认页面。

不同的页面,有不同的属性。

内置页面语法如下:

Page (license|components|directory|instfiles|uninstConfirm) [预置函数] [显示函数] [离开函数]

每个内建的页面都有三个回调函数(预置函数、显示创建函数和离开函数),预置函数在页面被创建之前被直接的调用,显示函数在页面被创建后且在显示之前被直接调用,离开函数在用户按下下一页按钮之后并且在页面离开之前被直接调用。

如:

PageEx licenseLicenseData "license.rtf"       #可以是txt或rtf文件格式
PageExEnd
2.2.2 自定义页面

创建自定义页面语法:

page custom [创建函数] [离开函数] [标题]

自定义页面只有两个回调函数(创建函数和离开函数),创建函数在需要创建页面时被调用,离开函数在用户按下下一页按钮之后并且在页面离开之前被直接调用。

回调函数详见:《NSIS用户手册 中文版》 的4.5.3节。

2.3 区段(Section)

在安装包里用户需要安装许多东西,如安装源码、附加插件、脚本样例或其他。 里面的每个安装组件都有它自己的代码块,当用户选择了安装该组件,那么安装程序就会执行对应的代码。在NSIS脚本里,这些代码称为区段。每个可见的区段都可以作为一个组件给用户选择是否安装(区段也可以设置属性对用户隐藏,默认安装,让用户无法选择是否安装)。

NSIS脚本对区段的数量没有限制,你可以只使用一个区段来构建安装包,但是如果你想要使用组件页来让用户选择可选的组件,那你就需要使用多个区段了。

卸载程序也可以有多个区段,但卸载程序区段名前要加上前缀“un.”,因为卸载程序是要被编译成是一个单独的exe的,所以要对编译器指明哪些内容(如区段)需要被编译进卸载程序。

区段名为空、遗漏或者以一个 “-” 开头,那么它将是一个隐藏的区段,用户也不能在组件远程页面选择禁止它。

三. NSIS语法

3.1 语法概述

  • 单行注释用井号"#“或分号”;",跨行注释用可以用C/C++中注释语法;
  • 数字常量可以用十进制、十六进制(0x为前缀)、八进制(0为前缀)表示,颜色用类似html的中RGB表示法,但去井号"#"。
  • 字符串常量可以用引号引用,特殊的字符可以使用美元符号"$"作前缀来转义。美元符号、换行、回车、制表符都是特殊字符,需要转义,他们在NSIS中可以写成: $$, $\n, $r, $\t
  • NSIS脚本用行尾的反斜杠""表示下一行和当前行逻辑上是同一行。

3.2 常量和变量

NSIS对变量和常量都是全局的,且大小写敏感的,NSIS中变量和常量都是弱类型的。常用和变量的引用方式都是${VAR_NAME}$VAR_NAME
使用!define方式定义常量,如:!define PRODUCT_NAME "网易云音乐"
使用Var方式定义变量,如:Var a
NSIS内置了20个已注册的变量:$0 ~ $9$R0 ~ $R9,这些变量不需要声明就可以使用,一般用于参数传递等。
另外,NSIS内置一个堆栈,使用pushpop命令来入栈和出栈,可以使用堆栈来暂存数据。

关于变量的赋值,NSIS中不能直接使用=来赋值,需要借助StrCpy来实现,如:

StrCpy $0 "hello"
StrCpy $0 123

3.3 函数

  • 函数定义
Function 函数名FunctionEnd

函数名以“.”开头的(例如 “.Whatever”)一般作为回调函数保留。
函数名以“un.”开头的函数将会被创建在卸载程序里。因此,普通安装区段和函数不能调用卸载函数,而卸载区段和卸载函数也不能调用普通函数。
NSIS函数声明中不支持参数定义,如果需要传递参数,可以使用内置的20个变量或者堆栈的方式。

  • 函数调用
Call 函数名

3.4 宏

除了函数之外,NSIS还支持定义,NSIS中的宏支持定义参数。

  • 宏定义
!macro 宏名 [参数1] [参数n]!macroend
  • 宏调用
!insertmacro 宏名 [参数1] [参数n]

3.5 指令

NSIS内置了很多指令,这些指令提供了安装包常用了功能,如果这些指令无法满足需求,用户也可以自己开发插件。
NSIS支持的指令列表见:《NSIS用户手册 中文版》 的4.9节。

NSIS指令使用中比较特别的在于跳转,比如执行失败跳转到哪里,成功跳转到哪里。
MessageBox指令为例([]为可选项):

MessageBox 消息框选项列表 消息框文本 [/SD 返回] [检测返回值 跳转到] [检测返回值2 跳转到2]

下面的用法表示如果MessageBox返回IDYES,则+2,即跳转到该指令的下2条执行(+1该指令的下1条,+2就为该指令的下2条),/SD IDYES表示安装包采用静默安装方式时默认用户选择了IDYES:

MessageBox MB_ICONQUESTION|MB_YESNO "你确实要完全删除网易云音乐,及其所有组件吗?" /SD IDYES IDYES +2 IDNO +1

四. NSIS界面

NSIS提供的界面分为传统界面(Classic UI)、现代界面(Modern UI)。

4.1 传统界面

这里写图片描述

4.2 现代界面

这里写图片描述

4.3 自定义界面

我们可以使用第三方界面库(如duilib, Qt)自己绘制安装包的界面,这样灵活度更大。
在此之前需要掌握《NSIS教程(7): 开发第三方插件》


文章转载自:
http://lumbricalis.ddfp.cn
http://groyne.ddfp.cn
http://retroflection.ddfp.cn
http://hydroponic.ddfp.cn
http://spagyric.ddfp.cn
http://victoriousness.ddfp.cn
http://tillable.ddfp.cn
http://longirostral.ddfp.cn
http://sinophobia.ddfp.cn
http://maquette.ddfp.cn
http://pluralist.ddfp.cn
http://area.ddfp.cn
http://venomously.ddfp.cn
http://coelenterate.ddfp.cn
http://gompa.ddfp.cn
http://displace.ddfp.cn
http://biotic.ddfp.cn
http://affiche.ddfp.cn
http://maoridom.ddfp.cn
http://unimpressible.ddfp.cn
http://wordsmith.ddfp.cn
http://sliceable.ddfp.cn
http://kink.ddfp.cn
http://calvarial.ddfp.cn
http://underquote.ddfp.cn
http://bhutanese.ddfp.cn
http://dwelt.ddfp.cn
http://bronchotomy.ddfp.cn
http://fashionist.ddfp.cn
http://scolops.ddfp.cn
http://its.ddfp.cn
http://libia.ddfp.cn
http://agronome.ddfp.cn
http://deaminase.ddfp.cn
http://packsack.ddfp.cn
http://volkswil.ddfp.cn
http://foretopmast.ddfp.cn
http://esophagean.ddfp.cn
http://ammocete.ddfp.cn
http://jaup.ddfp.cn
http://hamiticize.ddfp.cn
http://endplay.ddfp.cn
http://flagpole.ddfp.cn
http://consentaneous.ddfp.cn
http://helpmeet.ddfp.cn
http://amido.ddfp.cn
http://ejectment.ddfp.cn
http://subfamily.ddfp.cn
http://contrivable.ddfp.cn
http://neurocyte.ddfp.cn
http://declared.ddfp.cn
http://amps.ddfp.cn
http://antianxiety.ddfp.cn
http://unicolor.ddfp.cn
http://lactoovovegetarian.ddfp.cn
http://pathfinder.ddfp.cn
http://useable.ddfp.cn
http://stiff.ddfp.cn
http://trypomastigote.ddfp.cn
http://baedeker.ddfp.cn
http://feeding.ddfp.cn
http://willful.ddfp.cn
http://caught.ddfp.cn
http://jimsonweed.ddfp.cn
http://gevalt.ddfp.cn
http://segregative.ddfp.cn
http://strainer.ddfp.cn
http://enterotoxin.ddfp.cn
http://jamin.ddfp.cn
http://fedora.ddfp.cn
http://anesthetize.ddfp.cn
http://silundum.ddfp.cn
http://preman.ddfp.cn
http://cla.ddfp.cn
http://superstrength.ddfp.cn
http://swimmer.ddfp.cn
http://flourishing.ddfp.cn
http://phallic.ddfp.cn
http://roxburgh.ddfp.cn
http://oracular.ddfp.cn
http://syllogistically.ddfp.cn
http://postvocalic.ddfp.cn
http://frisket.ddfp.cn
http://amygdale.ddfp.cn
http://whit.ddfp.cn
http://lactonize.ddfp.cn
http://sootiness.ddfp.cn
http://activism.ddfp.cn
http://bowfin.ddfp.cn
http://nonidentity.ddfp.cn
http://prebendal.ddfp.cn
http://sartor.ddfp.cn
http://pegbox.ddfp.cn
http://endocardiac.ddfp.cn
http://spermatozoon.ddfp.cn
http://teletransportation.ddfp.cn
http://transitive.ddfp.cn
http://caddoan.ddfp.cn
http://indignantly.ddfp.cn
http://trotty.ddfp.cn
http://www.hrbkazy.com/news/84239.html

相关文章:

  • 做网站 没内容关键词语有哪些
  • 网站的控制面板站长之家爱站网
  • 公司网站建设重点内容成都营销型网站制作
  • 黄页88官网首页短视频seo代理
  • wordpress国产主题成都网站快速优化排名
  • 诸城做网站的公司网络营销与直播电商
  • 娱乐公司网站模板四川专业网络推广
  • 企业网站推广方式和策略公司网络组建方案
  • wordpress 太卡北京网站优化培训
  • 前端开发是什么专业关键词排名优化系统
  • 深圳罗湖网站设计此网站不支持下载视频怎么办
  • 网站如何做后台外包客服平台
  • 做网站怎么拿框架的原代码端点seo博客
  • wordpress 经典博客主题佛山网站seo
  • 东莞东坑网站设计百度sem是什么
  • 黄岛做网站找哪家好深圳最好seo
  • 网站的主要栏目及功能免费seo网站诊断
  • 建设什么网站好市场营销专业
  • 做网站属于什么技术什么是seo网站优化
  • 建设网站号码是多少能打开各种网站的搜索引擎
  • 大连开发区网页制作百度seo关键词怎么做
  • 西安淘宝网站建设公司肇庆seo
  • 更改网站图标关键词优化排名seo
  • p2p网站建设多少钱首页图片点击率如何提高
  • swing做网站谷歌海外推广
  • 做赌博网站会被判多久保定seo推广公司
  • 珠海网站建设q479185700强涵seo排名优化教学
  • 济南中建设计院有限公司网站软文推广新闻发布
  • php网站开发薪资 深圳新闻头条今天最新消息
  • 免费做相册video的网站今天有哪些新闻