NSIS教程(12)-开源UI插件
一、项目介绍介绍一个我开发的开源NSIS UI插件 NSIS-UI-Plugin,基于 NSIS-UI-Plugin 插件我们可以快速使用NSIS制作类似QQ等软件那样的安装包。 该插件默认使用Qt作为界面库(不需要编译Qt静态库,可以使用Qt动态库),但也可以很方便的切换使用其他界面库,如DuiLib等。 项目地址: https://github.com/winsoft666/NSIS-UI-Plugin
一、项目介绍介绍一个我开发的开源NSIS UI插件 NSIS-UI-Plugin,基于 NSIS-UI-Plugin 插件我们可以快速使用NSIS制作类似QQ等软件那样的安装包。 该插件默认使用Qt作为界面库(不需要编译Qt静态库,可以使用Qt动态库),但也可以很方便的切换使用其他界面库,如DuiLib等。 项目地址: https://github.com/winsoft666/NSIS-UI-Plugin
这这里分享几个我一直使用的NSIS中文手册: 《NSIS用户手册 中文版》 NSIS官方英文的手册上的机器翻译版本,有些地方翻译可能不太纯正。 《NSIS图文教程集锦 - 轻狂志》 里面有很多基于NSIS的安装包示例,大多数与NSIS有关的功...
在正常情况下安装包会有“欢迎界面”、“安装目录选择界面”等等,有时我们需要安装包自动跳过这 2 个界面,如安装包通过命令行参数传入“安装目录”(如setup.exe /installdir F:\test),本文讲述如何使安装包跳过指定的界面。
前面的几篇文章介绍了 NSIS 的传统界面的安装包和现代界面的安装包的制作方法,也提到了 NSIS 支持自定义页面(即使用page custom)的特性,自定义页面需要用户自己创建对话框、控件、添加控件响应等等,虽然 NSIS 提供了nsDialogs.nsh来支持这些功能,但使用起来还是不太方便(需要专门了解这个插件诸多用法),而且不够灵活,所以本文介绍一种终极的自定义界面的安装包解决方案,即完全使用第三方界面库来绘制安装包界面。 该方案是对界面库没有限制的,可以使用其他任何界面库,如 MFC, Qt,WTL 等。通过这种方案可以很轻松的实现类似金山毒霸、QQ、360 安全卫士等软件的安装包界面。
虽然 NSIS 官方提供了很多插件,也有一些第三方的插件可以下载使用,但在实际开发中难免会遇到已有插件没有提供的功能或者插件不好用的情况,这时我们可以选择自己开发 NSIS 插件。
NSIS 内置了很多指令,这些指令可以满足我们基本需求,但难免会遇到 NSIS 没有内置的功能,如进程操作,后台运行(即多线程),7z 压缩等等,这个时候我们就需要借助第三方插件来满足我们所需要的功能了。
静默安装/卸载是一种安装/卸载形式,用户打开安装包后不显示任何安装界面,直接开始安装,支持使用命令行参数指定安装路径等。
NSIS 的现代用户界面(Modern UI)只是相对于传统(丑陋)的界面而言的“现代”而已。它定义在MUI2.nsh中,nsh 文件类似 C++中的头文件,可以被其他模块包含引用。
本文以一个完整的、传统界面的网易云音乐安装包的脚本为示例,来介绍 NSIS 传统用户界面的开发流程。
本文列出了 NSIS 支持的完整指令,以供查阅。
本文列举了 NSIS 支持的所有属性,以供查阅。
NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 平台安装包制作程序。NSIS 通过它定义的脚本语言来描述安装包的行为和逻辑的。