如何使用NSIS创建Windows安装程序

电子说

1.2w人已加入

描述

导读

NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序,提供了安装、卸载、系统设置、文件解压缩等功能。

NSIS是通过脚本语言来描述安装程序的行为和逻辑的,所以用户可以完全控制安装程序的每个部分。它的脚本语言支持变量、函数、字串处理,就像是一个普通的程序语言,但其仅设计用来创建安装程序。

官方网站:http://nsis.sf.net

NSIS主要有以下特点:

开销小,一个完整功能的安装程序仅需要 34k 的额外开销;

支持大多数 Windows 平台,包括:Windows 95、Windows 98、Windows ME、Windows NT、Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows Sever 2008、Windows 7、Windows Server 2008R2、Windows 8、Windows Server 2012、Windows 8.1、Windows Server 2012R2、Windows Server 2016、Windows 10 和 Windows 11;

支持 ZLib、BZip2 和 LZMA 数据压缩(文件可以单独压缩,也可以一起压缩);

支持脚本;

支持多语言,在一个安装程序中支持多种语言(包括RTL语言)。目前已有 40 多种翻译版本,同样支持用户创建自己的翻译;

支持安装界面定制;

提供可扩展的插件接口;

支持Web安装、文件补丁;

完全免费,可用于任何用途。

本期小百科介绍如何使用NSIS创建Windows安装程序。

安装说明

1. 下载NSIS,https://nsis.sourceforge.io/Download

双击下载好的NSIS安装包,并保持默认配置,直至安装完成,如图1

WINDOWS

图1 NSIS安装完成

2. 下载HM NIS Edit,https://sourceforge.net/projects/hmne/

双击下载好的HM NIS Edit安装包,并保持默认配置,直至安装完成,如图2

WINDOWS

图2 HM NIS Edit安装完成

示例

1. 首先要准备好要打包的程序,大家如果是C#开发的Winform或WPF项目,直接把Debug文件夹复制过来即可,但是一定要确保双击Debug文件夹里的exe应用程序,可以正常打开程序。

我这里准备好了一个待打包的程序,就是直接复制的Debug文件夹,如图3

WINDOWS

图3 Debug文件夹

2. 双击Winform AI Continuous.exe可以直接运行程序,如图4

WINDOWS

图4 Winform AI Continuous.exe

3. 进入HM NIS Edit,选择文件>>新建脚本向导,如图5

WINDOWS

图5 新建脚本向导

然后点击下一步,如图6

WINDOWS

图6 NSIS脚本向导

4. 按照下图进行填写应用程序信息(如图7),并点击下一步

WINDOWS

图7 填写应用程序信息

5. 设置应用程序图标及语言(如图8),并点击下一步

WINDOWS

图8 填写安装程序选项

6. 设置安装目录及授权信息(如图9),若没有授权文件,请把授权文件下面的文件路径删除掉, 并点击下一步

WINDOWS

图9 设置应用程序的目录与授权信息

7. 设置应用程序文件(如图10),先删除系统默认的文件和目录,然后手动添加待打包的目录和应用程序exe

WINDOWS

图10 设置应用程序文件

逐个删除系统默认的两个文件,如图11

WINDOWS

图11 删除系统默认的两个文件

添加exe文件路径,如图12

WINDOWS

图12 添加exe文件路径

添加打包程序文件目录,如图13

WINDOWS

图13 添加打包程序文件目录

待全部添加后点击下一步,如图14

WINDOWS

图14 添加打包程序文件目录

8. 确认应用程序图标(如图15),直接点击下一步即可

WINDOWS

图15 确认应用程序图标

9. 指定安装程序完成时要执行的程序(如图16),直接点击下一步即可

WINDOWS

图16 指定安装程序完成时要执行程序

10. 指定解除安装程序属性(如图17),直接点击下一步即可

WINDOWS

图17 指定解除安装程序属性

11. 点击完成(如图18),如果有必要可以保存脚本

WINDOWS

图18 向导完成

12. 点击箭头所指图标,编译脚本,如图19

WINDOWS

图19 编译脚本

将脚本保存到指定路径中,如图20

WINDOWS

图20 设置保存脚本的路径

编译完成,在日志窗格会显示类似的信息,如图21

WINDOWS

图21 编译完成

13. 打开保存脚本的路径,即可查看到setup.exe和脚本文件,如图22

WINDOWS

图22 查看安装包

到此,利用安装向导制作的安装包就完成了。

14. 双击setup.exe,进入安装界面,直接下一步安装即可,如图23

WINDOWS

图23 运行安装包

保持程序默认配置直至安装完成,打开应用程序,如图24

WINDOWS

图24 运行安装包

注意事项

1. 安装程序语言中没有语言类型,点击下一步后报错“请指定安装程序语言”,如图25

WINDOWS

图25 报错“请指定安装程序语言”

解决方案

1) 原因:HM VNISEdit是第三方脚本编辑器。在编译的时候,它需要调用NSIS本身。之所以不出现语言选项,是因为它没检测到你的NSIS安装路径。

2) 在HM VNISEdit菜单栏“NSIS”下找到“配置”,如图26

WINDOWS

图26 HM VNISEdit配置

3) 在打开的“路径”选项界面中,

将编译器路径浏览到 NSIS 安装路径下的 makensis.exe

帮助文件浏览到 NSIS 文件夹下的 help.chm 或NSIS.chm

完成配置后,点击确认,如图27

WINDOWS

图27 设置编译器和帮助路径

2. 在编译过程中,发生“Insecure filename “Setup.exe“, Windows will unsafely load compatibility shims into the process”报错,如图28

WINDOWS

图28 编译报错

解决方案:

该报错对创建程序安装包没有什么影响,可忽略。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分