首页 > nsis帮助文档_使用NSIS打包程序

nsis帮助文档_使用NSIS打包程序

1、前言

程序设计好以后会生成若干可执行文件和依赖文件。为了方便程序被更好地使用,需要将程序封装为一个安装程序。

2、平台和环境

Windows系统

安装NSIS

下载地址:https://nsis.sourceforge.io/Download

NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序,提供了安装、卸载、系统设置、文件解压缩等功能。NSIS通过脚本语言来描述安装程序的行为和逻辑的。

安装HW VNIS Edit

下载地址:https://sourceforge.net/projects/hmne/

HW VNISEDIT是他的这门语言的一个开发工具,能通过向导自动生成一些代码,下面我们做一个简单的应用程序打包步骤

3、使用教程

安装NSIS

成功安装NSIS如下图所示。

3b65fa8d23823f4c21f2cb3a47efadec.png



NSIS安装成功

User Manual

d72583df581437888cf005b075b05e68.png



用户手册

进入HM VNISEdit窗口

3d0e3baf7508ae301ccdab1bf90b39cc.png

HM VNIS Edit

NSIS脚本向导

选择文件-新建向导后进入向导窗口。

e80ca8999080bf62f493285d5b440656.png



NSIS脚本向导

填写应用程序信息

应用程序的信息可以在安装程序右键后详细信息中查看。

998ed95c78c4f7a8a5b92937ab2268f9.png



image.png

安装程序选项

选择安装程序图标或者使用默认的图标。设置安装程序的文件、语言、用户图形界面。

8852e4536587e1304a9044266044d352.png



image.png

快闪屏幕和背景窗口基本不设置

0fac212680b1924da1ab0a9df00e311a.png

应用程序的目录与授权信息

aa7ce3198907641aa2326f1586d60566.png

aa7ce3198907641aa2326f1586d60566.png



image.png

如果授权文件没有删除文本框中的文本。

d230fc10fda834a60fb073d7970762d5.png



image.png

指定应用程序的文件

7c1fe0c39f960829ac7ef002258686bb.png



image.png

选择文件树,如果安装程序要复制文件夹,则选择文件树时勾选包含子目录。

23f23d6ec7ad0402fb4a130e9b67c2c8.png



image.png

应用程序图标和快捷方式

6193c47801b9dded8b4e5b1e9c2bba68.png



image.png

可以在此过程中添加其他文件的快捷方式。其他文件如用户手册,设置程序等。

安装后运行方式

597159b0b966cbd4ef19e091b62840ee.png



image.png

解决安装方式

f686b235635891f3e4b2bdcd4580be8e.png



image.png

75e47935a5e2d00954ba27bbc41afa94.png



image.png

查看脚本

ea0eedb99a118bed020d01e6b4871c41.png



image.png

修改脚本和输出脚本文件

8dd18580d80146d821405e9a8a8f4236.png



image.png

4、程序安装

8cec93f0247e4c50bb0d975ddae9c84a.png



image.png

0cad2d5dfc0a452fad104f4821a8bc30.png



image.png

298d6cf36e5d6d6f00c08daeb371c549.png



image.png

14093233afbfe223774fb35644cb518d.png



image.png

510485bc64b5986107bf4f4f85a1f6b0.png

510485bc64b5986107bf4f4f85a1f6b0.png



image.png

9853fae311ee9d9b2122d30f698473ac.png



image.png

5、卸载程序

e564223b852d0397fd58bc040ed0aba6.png



image.png

f47bee4300f947e37e3a58a25efd656d.png



image.png

8e1f3ef7023b3fbea5b83f4fc987e091.png



image.png

6、安装程序个性化

参考文档:https://www.cnblogs.com/modou/p/3573772.html

7、生成安装程序出现的bug

7.1 请指定安装程序语言?

64672a56d3aacb11b82a356d2bed882b.png



image.png

解决办法:

HM VNISEdit 这个工具是第三方脚本编辑器。在编译的时候,它需要调用 NSIS 本身。之所以不出现语言选项,是因为它没检测到你的 NSIS 安装路径。在它菜单栏“NSIS”下找到“配置”,打开的界面中,有个“路径”选项,编译器路径浏览到 NSIS 文件夹下的 makensis.exe,帮助文件浏览到 NSIS 文件夹下的 help.chm 或NSIS.chm 即可正常加载语言。

02dc7a5181a8ea3471ce24b9abe320ff.png



image.png

0f74f12ed1d325382128c8c0853f50d2.png

0f74f12ed1d325382128c8c0853f50d2.png



image.png

7.2 找不到License文件

f9529dedc17997630ee77c05c4b4e11a.png



image.png

授权文件有的话就指定,没有就空着。

7.3 安装目录没有文件夹

[涉及机密]

文件夹没有被打包进来:

035f12839c3613dc3b5c55c7f70c36f9.png



image.png

选择要打包的文件,直接把要打包的目录内容全部添加进来,注意两处.,以及勾选“包含子目录”,不要勾选”单独添加每个文件“,编译的时候会把所有的文件打包进来的,下一步

8、其他参考资料:

NSIS多语言支持:https://blog.csdn.net/zjlei712/article/details/39102337

官方支持文档:https://nsis.sourceforge.io/FAQ

NSIS使用教程:https://www.cnblogs.com/myall/p/3637759.html

更多相关:

  • 如果你想在自己的IPhone上安装一个ipa文件,你的手机是无法正常安装的,(越狱,企业证书分发除外)但是我们可以通过以下步骤来实现,前提要有自己的开发者账号。接下来就看一下具体的步骤:第一步:用Xcode新建一个工程Bundle identifier不要和手机中已有的的APP重复,然后用自己的证书打包出ipa文件。第二步:获取mob...

  • 刚接触,啥子都不会,按着教程走需求:识别图片中的文字信息环境:windows系统开发语言:python3.5使用工具类:1.pyocr2.PIL3.tesseract-ocr步骤:1.pyocr网络通直接使用命令:pip install pyocr网络不通,转至https://pypi.python.org/pypi/pyocr/0....

  • 展开全部 f=open('xxx','r',encoding='utf-8') file=f.readlines() f.close() f=open('xxx','w',encoding='utf-8') for i in len(file): ----file[i]=file[i].split(',') ----file[i][1...

  • PIL(Python Imaging Library)是Python中一个强大的图像处理库,但目前其只支持到Python2.7 pillow是PIL的一个分支,虽是分支但是其与PIL同样也具有很强的图像处理库。 Python3.7.0 如何安装pillow 此安装方法在windows7环境下完成: >>>win+r调出运行窗口,键入c...

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...

  • 最近公司要做一个企业微信的小程序,方便企业内的成员来登录,以便一些公司内的业务,只限于公司内的成员来操作,因为有微信小程序的开发经验,所以先当作微信小程序来开发了!首先来讲一下这个企业微信小程序与微信小程序登录的不同,下面是微信小程序登录的流程:小程序内需要调用wx.login(),获取临时登录凭证code,并回传到开发者服务器,然后...

  • sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。下面我们通过一个极简单的test.py程序的运行结果来说...

  •   标题:创意虾-程序纹理Blender大师班 信息: 什么是程序纹理? 程序纹理将简单的数学转换为无限的真实感着色器,具有无限的多样性和分辨率。 超越看起来像一团像素特写的图像纹理,运用程序纹理的力量,清晰的细节和没有重复的模式。 你是不是在玩节点滑块,得到了一些有趣的结果,但不确定引擎盖下到底发生了什么?掌握了节...

  • gprof用于分析函数调用耗时,可用gprof分析最耗时的函数,以便优化程序。 gcc链接时也一定要加-pg参数,以使程序运行结束后生成gmon.out文件,供gprof分析。 gprof默认不支持多线程程序,默认不支持共享库程序。 gcc 编译程序时添加编译选项-pg 运行程序,程序退出时生成 gmon.outgprof ./...

  • 一.虚拟机、linux简介 简单介绍一下虚拟机还有就是各种操作系统,比如centos,Ubuntu 操作系统:linux(centos、Ubuntu、redhat),Android,Windows(xp、win8、win10) 进程,多个程序,分时技术,并行技术 一次打开多个程序,我们在只有一个cpu,如何让这些程序进...