当 NSIS 安装包超过 4GB 时,需要借助 NSISBI 来打包。默认情况下,NSISBI 会把安装程序和数据文件分开,生成:
1一个 xxx.exe 安装程序
2一个 xxx.nsisbin 数据文件
如果你想把 .nsisbin 改成自定义后缀(例如 .dat),就需要下载 NSISBI 源码,修改后重新编译。下面是完整步骤。

一、修改源码
下载并打开源码
从 NSISBI 项目页下载源码包(如 nsis-code-7423-3-NSIS-trunk.zip),解压后用 Visual Studio Code 打开。
全局替换后缀
在 VS Code 中按 Ctrl+Shift+F 打开全局搜索:
搜索:.nsisbin
替换为:你想要的后缀,比如 .dat
然后点击「全部替换」。

从截图可以看到,搜索 .nsisbin 后共命中 362 个结果,分布在 76 个文件中。替换操作会一次性更新所有引用位置,包括:
- Source\\exehead\\fileform.c(核心文件格式处理逻辑)
- nsisconf.nsh(编译配置) 以及若干
- confest_*.nsisbin 测试文件
注意:截图里替换框显示的是 dat(没有点),建议写成 .dat(带点),避免后缀拼接时出现 xxxdat 这种错误格式。替换前最好确认一下原文是 .nsisbin 还是 nsisbin,按实际匹配结果填写。
二、编译 NSISBI
修改完源码后,需要重新编译才能生效。
1,准备编译环境
工具要求说明
- Python,2.7 或以上,官网下载,安装后配置环境变量
- SCons,1.2.0 或以上,控制台执行 pip install scons
- Zlib,1.2.4 或以上,下载解压到任意目录,设置环境变量
zlib 环境变量设置示例:
代码:
bash
set ZLIB_W32=C:\\Dev\\zlib-1.2.7
以管理员身份打开新的控制台,切换到 NSISBI 源码目录,运行:
代码:
bash
scons SKIPUTILS="NSIS Menu" PREFIX="C:\\Program Files (x86)\\NSIS" install
其中 PREFIX 参数指定编译产物的安装目录,可按需修改。
编译完成后,目录结构大致如下:

可以看到生成了完整的 NSIS 目录结构:
- Bin、Contrib、Docs、Examples
- Include、Plugins、Stubs
- makensis.exe(主程序)
- makensisw.exe(带界面的编译器)
- nsisconf.nsh(NSIS Header File)
三、安装与使用
1,将编译完成的 NSISBI 产物复制到你的 NSIS 安装目录(如 C:\\Program Files (x86)\\NSIS);
2,选择替换全部相同文件;
3,之后使用 makensis xxx.nsi 打包,生成的数据文件后缀就会变成你修改后的名称(例如 .dat)。
四、补充说明
1,NSISBI 通过将安装数据分离到外部文件来突破 2GB 限制。默认情况下,当安装包超过 4GB 时会自动启用外部文件模式。
2,可以使用 OutFileMode 指令强制控制行为:
OutFileMode data:强制始终生成外部数据文件;
OutFileMode auto(默认):超过 4GB 时才自动切换。
3,NSISBI 3.12.1 及更新版本已支持将超大安装包分割为多个数据文件(例如 3 个文件共 8GB),如有此需求可升级到相应版本。
更多安装包制作过程中遇到的问题解决方法,可以进入我的主页查看。
网硕互联帮助中心


评论前必须登录!
注册