NSIS脚本制作windows软件安装包

该文档介绍了10年前使用NSIS进行Windows安装包制作的技术,包括创建提示框、设置和显示变量、使用函数、调用动态库、定义宏以及插入欢迎页、许可协议页等安装界面。提供了多个实例代码和简单的PPT讲解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

本文是10年前做windows开发时,做安装包是留下的一点关于用NSIS打包安装程序的技术文档。虽然不全面,但是勉强够用。

有兴趣的同学可以到 这里 下载全部脚本(共11个小例子),里面还有一个简单的ppt讲解。写的比较差,勉强可以参考。

实例一 弹出提示框

OutFile "1.exe"
ShowInstDetails show

# create a default section.
section
# create a popup box, with an OK button and the text "Hello world!"
messageBox MB_OK "Hello world!"
sectionEnd

运行结果

在这里插入图片描述

点击确定后

在这里插入图片描述

实例二 设置变量和显示变量

OutFile "2.exe"
ShowInstDetails show

!define APPNAME "TASS_CSP"
Var /GLOBAL version

Section

DetailPrint ${APPNAME}
StrCpy $version "2.0.0.0"
DetailPrint $version

SectionEnd

运行结果

在这里插入图片描述

实例三 函数及控制

OutFile "3.exe"
ShowInstDetails show

Var /GLOBAL str1
Var /GLOBAL str2

Var /GLOBAL strResult

/*
char *para1
char *para2

char *result
*/
Function ConnStrForReg
	Pop $1
	DetailPrint $1

	Pop $0
	DetailPrint $0

	StrCpy $2 $0$1
	
	Push $2
	
FunctionEnd

Function ConnStrForVar
	StrCpy $strResult $str1$str2
FunctionEnd

section "Main"
	StrCpy $str1 "0123456789"
	Push $str1

	StrCpy $str2 "abcdef"
	Push $str2

	Call ConnStrForReg
	Pop $strResult
	
	DetailPrint '"Reg=====>"$strResult'
	
	StrCpy $str1 "0123456789"
	StrCpy $str2 "abcdef"
	
	Call ConnStrForVar
	
	DetailPrint '"Var=====>"$strResult'
sectionEnd

运行结果

在这里插入图片描述

实例四 调用动态库功能

OutFile "4.exe"
ShowInstDetails show

Var /GLOBAL strSource

section

StrCpy $strSource "1234567890"
DetailPrint $strSource

md5dll::GetMD5String $strSource
Pop $R0

DetailPrint $R0

StrCpy $0 $strSource
DetailPrint $0

System::Call "user32::MessageBox(i $HWNDPARENT, t r0, t 'Test', i 0)"

sectionEnd

运行结果

在这里插入图片描述

点击确定后

在这里插入图片描述

实例五 宏

OutFile "5.exe"
ShowInstDetails show

!macro Hello What
  DetailPrint "Hello ${What}"
!macroend

Section Test
  !insertmacro Hello "World"
  !insertmacro Hello "Tree"
  !insertmacro Hello "Flower"
SectionEnd

运行结果

在这里插入图片描述

实例六 插入欢迎页,licence页,安装页,完成页

OutFile "6.exe"
ShowInstDetails show

!include "MUI.nsh"

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "lic.txt"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH

!insertmacro MUI_LANGUAGE "SimpChinese"

# create a default section.
Section "Main"
# create a popup box, with an OK button and the text "Hello world!"
MessageBox MB_OK "Install section is running!"
SectionEnd

欢迎页

在这里插入图片描述

licence页

在这里插入图片描述

安装页

在这里插入图片描述

完成页

在这里插入图片描述

NSIS安装包制作教程 分为三个目录:基础,插件,脚本 NSIS System 插件 NSIS VPatch 3.1插件 NSIS InstallOptions 2 插件 NSIS Modern UI(新式用户界面)插件 NSIS的Modern UI插件 NSIS里特殊符号的表达方法 两组件互斥 NSIS 常用小问题合集 资源替换式的美化包制作方式代码 安装完毕后如何刷新文件关联 教你如何编程调用 NSIS 的插件 NSIS安装程序概要 实现 NSIS 自定义页面中的控件操作代码 如何使用NSIS实现多目录安装设置 如何用NSIS在加入注册表 用NSIS 制作自己的安装程序 bluewind 的 wmp9 nsis安装脚本 NSIS安装脚本简明教程 取得winamp的NSIS脚本的教程 迅雷5.7.3.389 AYU增强版的安装脚本 NSIS制作迅雷安装的脚本 迅雷5.7.2.371 DDR1.5版去广告版源代码说明 NSIS删除安装程序自身 帮助文件中关于静默安装的说明 NSIS实现静默安装的两种方法 nsis的附加任务代码 关于 NSIS 写入注册表的问题 少轻狂制作Windows优化大师的安装脚本 aipc编写的nsis极点安装脚本 官方 NSIS 插件全集 全方位掌握NSIS的使用 NSIS语言里怎样安装一个.inf文件? 如果要关联某个文件给程序应该怎么做? 如何避免显示解压缩进度框? 关于检测操作系统的问题 在结束页面添加运行程序选项 NSIS的botton二选一如何实现? NSIS灵活应用用逻辑库 NSIS调用inf安装驱动后的卸载问题 NSIS的组件互斥代码 在NSIS中如何禁止一个组件组的父项的点击事件 关于打破 NSIS 的 8192 字节限制的更简单方法 NSIS 自定义页面结合组件选择安装 一个关于组件跟自定义页面的控制问题 如何把安装的卸载程序放到其他目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

化妖成魔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值