打包狂魔之NSIS教程
文章平均质量分 72
NSIS是windows平台的安装包制作脚本,越来越多的互联网公司选择使用它来制作安装包,它开源免费,且功能强大。该教程提供NSIS安装包制作的一站式解决方案。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
china_jeffery
持续学习者;
擅长开发开源组件及相关工具;
长期致力于应用各种IT新技术提升生产效率和解决实际问题;
展开
-
NSIS教程(1): 基础语法
NSIS教程: 《NSIS用户手册 中文版》 《NSIS图文教程集锦 - 轻狂志》一. 环境搭建NSIS是“Nullsoft Scriptable Install System”的简称。从http://nsis.sourceforge.net/Download下载NSIS安装进行安装,安装完之后的目录结构如图: 也可以从此处下载:nsis-3.02.1...原创 2018-01-18 13:32:05 · 105052 阅读 · 2 评论 -
NSIS教程(2): 传统用户界面(Classic UI)
NSIS教程: 《NSIS用户手册 中文版》 《NSIS图文教程集锦 - 轻狂志》本文以一个完整的、传统界面的网易云音乐安装包的脚本为示例,来介绍NSIS传统用户界面的开发流程。NSIS脚本# 单行注释用井号"#"或分号";",跨行注释用可以用C/C++中注释语法。# 使用!define定义一些常量(如安装包的版本号等)# 对常量或变量的引用可以使用如${PROD原创 2018-01-18 13:48:05 · 86729 阅读 · 0 评论 -
NSIS教程(3): 现代用户界面(Modern UI)
NSIS的现代用户界面(Modern UI)只是相对于传统(丑陋)的界面而言的“现代”而已。它定义在MUI2.nsh(注:nsh文件类似C++中的头文件,可以被其他模块包含引用)中,如果要使用MUI2界面,则需要包含该文件:!include "MUI2.nsh"MUI2界面和传统界面不同之处在于,传统界面使用的Page(或PageEx)语法来标识显示哪些页面,如:PageEx原创 2018-01-18 14:19:39 · 88163 阅读 · 0 评论 -
NSIS教程(4): 调用Windows API
NSIS调用win32 API(也可以是其他dll提供的导出接口)需要通过System::Call来调用,调用语法如下:System::Call PROC [( PARAMS ) [RETURN [? OPTIONS]]]每个参数由三个值组合而成: 类型、源、目标。注意是每个参数都是由三个值组合而成。 类型:可以是一个整数,一个字串,等等。 源: 就是参数值的源,可以是一个 NSI原创 2017-12-27 22:54:33 · 84406 阅读 · 0 评论 -
NSIS教程(5): 静默安装
常用的静默安装有2种: 1. 在脚本中加入SilentInstall 和 SilentUninstall 命令 2. 在程序启动参数里加 /S 参数(区分大小写) 要判断安装、卸载程序是否静默可以使用 IfSilent:# 安装操作开始前.Function .onInit IfSilent +2 +1 MessageBox MB_ICONQUESTION|MB...原创 2017-12-27 22:43:22 · 93011 阅读 · 6 评论 -
NSIS教程(6): 使用第三方插件
NSIS内置了很多指令,这些指令可以满足我们基本需求,但难免会遇到NSIS没有内置的功能,如进程操作,后台运行(即多线程),7z压缩等等,这个时候我们就需要借助第三方插件来满足我们所需要的功能了。一、插件获取NSIS官方收录插件的网址是:http://nsis.sourceforge.net/Category:Plugins,我们可以在这个网站上查找和下载我们需要的插件,该网站上针对每原创 2018-01-18 22:43:25 · 90092 阅读 · 0 评论 -
NSIS教程(7): 开发第三方插件
一、插件开发规范NSIS插件对开发语言没有限制(本文基于C++语法开发),只要按照NSIS标准所要求的生成一个dll文件,该dll文件提供纯C规范的、固定格式的导出函数即可。总结起来,开发NSIS插件的步骤为:使用Visual Studio新建dll工程(运行库选择MT或MTD),因为使用的MT运行库,对VS的版本没有要求。定义插件功能函数,假设函数名为add,则函数声明格式如下:原创 2018-01-18 23:30:28 · 88713 阅读 · 1 评论 -
NSIS教程(8): 基于第三方界面库的安装包界面
前面的几篇文章介绍了NSIS的传统界面的安装包和现代界面的安装包的制作方法,也提到了NSIS支持自定义页面(即使用page custom)的特性,自定义页面需要用户自己创建对话框、控件、添加控件响应等等,虽然NSIS提供了nsDialogs.nsh来支持这些功能,但使用起来还是不太方便(需要专门了解这个插件诸多用法),而且不够灵活,所以本文介绍一种终极的自定义界面的安装包解决方案,即完全使用第三方原创 2018-01-19 14:17:53 · 93868 阅读 · 6 评论 -
NSIS教程(9): NSIS+duilib仿QQ安装包
本文在NSIS教程(8): 基于第三方界面库的安装包界面基础上,分享如何使用NSIS结合duilib高仿QQ安装包的过程。先上效果图吧! 完整NSIS脚本# ====================== 自定义宏 ==============================!define PRODUCT_NAME "腾讯QQ"!define E原创 2018-01-19 17:43:48 · 96394 阅读 · 2 评论 -
NSIS教程(10): MUI跳过某些安装步骤
在正常情况下安装包会有“欢迎界面”,“安装目录选择界面”等等。假如现在安装包支持通过命令行参数传入“安装目录”(如setup.exe /installdir F:\test),在检测到命令行参数中已经指定了安装目录的情况下,则跳过“欢迎界面”和“安装目录选择界面”。HOW TO DO?在页面插入宏之前通过MUI_PAGE_CUSTOMFUNCTION_PRE来指定pre处理函数,在该函数中来判...原创 2018-11-14 10:47:11 · 2067 阅读 · 1 评论