You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用NSIS 3.10安装程序打包超过2GB的文件?

NSIS 3.10打包超过2GB文件的解决方案

你遇到的是NSIS 3.10版本对超大文件(>2GB)内存映射处理的已知bug,对应错误码#12345,以下是可行的解决办法:

  • 升级NSIS版本:直接升级到3.11及后续版本,官方已修复该大文件内存映射问题,这是最彻底的解决方案。
  • 拆分大文件后打包:如果暂时无法升级版本,将超过2GB的文件拆分为多个小文件,在NSIS脚本中用File命令分别添加拆分后的文件,安装阶段通过Windows命令合并:
    Section
      CopyFiles "$INSTDIR\file_part1" "$INSTDIR\file_part2" "$INSTDIR\"
      ExecWait '"$SYSDIR\cmd.exe" /c copy /b "$INSTDIR\file_part1"+"$INSTDIR\file_part2" "$INSTDIR\original_file"'
      Delete "$INSTDIR\file_part1" "$INSTDIR\file_part2"
    SectionEnd
    
  • 清理并检查临时目录:手动清理系统临时目录(%TEMP%)下的NSIS残留文件,同时确保构建用户对临时目录拥有完全读写权限,避免因临时文件异常导致映射失败。
  • 调整压缩模式:将脚本中的固实压缩改为非固实或切换压缩算法,比如把SetCompressor /SOLID lzma改为SetCompressor lzma或SetCompressor zip,降低内存占用压力(代价是压缩率可能下降)。

错误日志详情:

[MAKENSIS] Internal compiler error #12345: error mmapping datablock to 33584718.
[MAKENSIS] Note: you may have one or two (large) stale temporary file(s) left in your temporary directory (Generally this only happens on Windows 9x).

内容的提问来源于stack exchange,提问作者Frank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 18:13:12