如何利用nsis制作electron的安装包?
发布于 作者:苏南大叔 来源:程序如此灵动~鉴于nsis
打包工具的原版工具的丑陋和难于使用,苏南大叔在以前的文章中,推荐大家使用innosetup
打包electron
。最近苏南大叔重新审视了一下nsis
相关工具,觉得还是有必要给nsis
平反一下。
nsis
的官方版本确实难用,但是相关的第三方软件,还是非常强大好用的,可以弥补官方版本的不足。其实,这第三方软件的主要的优点就是:对于小白新人来说,更加易于傻瓜式操作。
相关软件
这个nsis
的生态来说,建议大家看看下面几个软件包。
基础编译器nsis
第一个就是官方的nsis
,虽然一直有更新,但是打开之后,毫无任何的操作欲望,易用性极差。下载地址:http://nsis.sourceforge.net/Download
辅助编辑器HMNiseditor
第二个HMNiseditor
,这个是第三方提供的软件,完全弥补nsis
官方版本难用的大问题。但很多年没有更新了,版本停留在2.0.3
。下载地址:
当然值得一提的是,官方还有提供一个iss2nsi
程序,是用于转化innosetup
的脚本为nsis
脚本的。如果你有需求,可以研究一下。
合集版nsis
第三个是中文汉化版的nsis
生态合集,包含经典版的nsis
(并不是最新版)、增强版的HMNiseditor
,还有其他相关插件,功能很好很强大。截至到发文,最新版本是2.0.3-20171230
,不过必须注册他们的论坛,才能下载到最新版本。下载地址:
HMNiseditor
本文的主角就是HMNiseditor
了,这款软件并不包含nsis这个编译器,所以还是要额外安装nsis
编译器的。相对而言,innosetup
是仅仅安装官方版本,就可以拥有上述两项功能的。所以,这一点上来说,nsis
做的并不好。
HMNiseditor
里面有个很好很强大的向导模式,下里的截图,主要以原版的HMNiseditor
为准。
原版的HMNiseditor
和innosetup
进行向导模式对比的话。个人认为:HMNiseditor
更胜一筹,比如在inno中,需要苏南大叔单独设置的图标问题,HMNiseditor
都是可以在向导模式里面给出的。具体见文末链接。
注意这里的压缩算法,可以控制最终的文件的体积大小。
没有语言包的话,请重新用管理员模式,启动这个软件,就可以出现语言包列表了。如果还是没有的话,请检查您的电脑系统里面是不是除了安装HMNiseditor
外,还安装了nsis
这个基础软件。
出现列表后,这里需要选择simpchinese
这个选项,可以在键盘上按s
来快速寻找simpchinese
这个选项。
这里需要把默认的这两个文件,删除掉。再添加我们的exe相关文件即可。
这里,主要把三个选项都选上,向导完毕保存脚本文件,并直接编译成setup.exe
,这个是最简单的使用途径。
当然,如果哪里出错了,点击出错的提示,就可以快速定位到相关的出错位置。
得到的setup.exe
执行之后,就可以开始查看我们的最终效果了。下面的截图,都是默认效果的截图。
HMNiseditor
增强版vs原版
苏南大叔推荐大家下载使用,上述nsis生态合集中的国人修改版HMNiseditor
,很好很强大,比原版来说,增加了一些选项(当然,其实也没有特别大的用途)。但是,里面的压缩选项里面,确有个最大压缩比的压缩算法。可以更好地解决electron体积大的问题,是非常值得尝试的功能。
压缩算法有很多个,默认的LZMA
压缩比效果非常好。语言包simpchinese
,也是默认选择的。
增强版的下面这个新增功能,做的不是太好。默认并没有选中下面的这两个选项:包含子目录
和单独添加某个文件
,需要手工操作一下,否则,后续操作中,将不能自动识别electron的主程序exe的位置。官方版的是没有这个问题的。
需要管理员模式运行,否则,你也许可以看到下面的提示:
增强版HMNiseditor
处理压缩功能对比
增强版的HMNiseditor
,里面的文件压缩模式比官方版本更多。其中官方也有的LZMA
效果不错,但是增强版中的极限压缩
,效果更好些。
官方版有三种压缩方式,默认是效果不是太好的zlib
。
增强版有七种压缩方式,默认是效果不错的LZMA
。
苏南大叔,对electron-quick-start
项目进行了压缩对比处理,效果如下。大家可以看到,增强版的极限压缩
效果不错,得到了36M的效果,推荐使用。
相关链接
- 《如何利用innosetup制作electron的安装包》 https://newsn.net/say/electron-innosetup.html
- 《利用upx给electron的exe减肥效果对比》 https://newsn.net/say/electron-exe-upx.html
总结
如果使用增强版的HMNiseditor
,使用极限压缩模式,外加官方版的nsis的话,似乎是不错的选择。当然,这个nsis和innosetup一样,本教程对于任何的exe都是适用的,并不仅针对electron
的项目。
更多的electron的经验文章,请点击这里查看。https://newsn.net/tag/electron/ 。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
苏南兄,我用HM VNISEdit打包,报了你截图里找不到许可协议的错,这是怎么回事儿
协议文件的路径不对吧,没有别的可能。
可以了。有几个重要文件没导成功。
纳尼~
请教下 为嘛打不开应用程序啊? 编译也没报错啊