NSIS(Nullsoft Scriptable Install System)是一个开源的脚本驱动的 Windows 安装包制作工具,适用于创建高度定制化的安装程序。通过编写简单的脚本文件,可以实现多文件打包到一个 EXE 文件。以下是关于 NSIS 如何实现打包多文件的详细步骤和原理介绍。
原理:
NSIS 利用特殊的脚本语言编写安装包配置文件,文件通常具有扩展名 *.nsi。当使用 NSIS 编译器(例如:makensis.exe)处理这个配置文件时,程序将按照脚本里的指令收集资源,打包数据,生成一个可以执行的 EXE 文件。这个 EXE 文件可以随后在 Windows 上运行,实现自动解压和安装。
详细介绍:
1. 下载与安装 NSIS
首先,访问 NSIS 官方网站(https://nsis.sourceforge.io/Download)下载并安装软件。安装完毕后,NSIS 的安装目录中将包含一个叫 "makensis.exe" 的编译器。
2. 编写 NSIS 脚本 (*.nsi)
使用纯文本编辑器(如 Notepad++ 或 VSCode)编写脚本文件。以下是一个简单的例子:
```
; 定义安装包名称及输出路径
Outfile "MyAppInstaller.exe"
; 默认安装目录
InstallDir $PROGRAMFILES\MyApp
; 设置在安装程序开始时选择安装目录
Page directory
; 设置在安装程序结束时的显示
Page instfiles
; 定义安装器的节
Section
; 创建应用程序目录(如果目录不存在)
CreateDirectory $INSTDIR
; 设置输出路径为安装目录
SetOutPath $INSTDIR
; 添加文件到安装包
File "MyApp.exe"
File "MyApp.dll"
File "MyApp.ini"
File "Readme.txt"
; 创建应用程序的快捷方式
CreateShortCut "$SMPROGRAMS\MyApp\MyApp.lnk" "$INSTDIR\MyApp.exe"
CreateShortCut "$DESKTOP\MyApp.lnk" "$INSTDIR\MyApp.exe"
; 结束安装器的节
SectionEnd
```
将此脚本保存为 "MyAppInstaller.nsi"。
3. 编译 NSIS 脚本
打开 NSIS 安装目录中的 "makensis.exe" 编译器。将刚刚保存的 "MyAppInstaller.nsi" 文件拖放到 makensis.exe 上,或者在命令行中运行 "makensis MyAppInstaller.nsi"。编译成功后,你将获得一个名为 "MyAppInstaller.exe" 的可执行文件,它包含脚本中定义的所有文件。
4. 测试安装包
双击 "MyAppInstaller.exe" 文件运行安装过程。按照向导操作,你将在指定的目录中看到多个文件被安装。
现在,你已成功了解了如何使用 NSIS 将多个文件打包成一个 EXE 安装程序。更详细的 NSIS 脚本用法和命令可参阅 NSIS 官方文档(https://nsis.sourceforge.io/Docs/)。