使用 NSIS 脚本创建大数据设置

问题描述 投票:0回答:4

我正在使用 NSIS 脚本创建大约 10 GB 的大数据设置,并尝试创建单个设置(exe)。它给出了一个错误 -

内部编译器错误 #12345:错误映射文件 (xxxxxxxxxx, xxxxxxxx) 超出范围。

注意:您可能在临时目录中留下一两个(大的)陈旧临时文件(通常这只发生在 Windows 9x 上)。

请告诉我如何解决这个问题? 有没有其他方法可以为这种情况创建设置?

installation nsis large-files
4个回答
5
投票

NSIS 安装程序限制为 2Gb。

如果你绝对需要它是一个文件并且你想继续使用 NSIS 你必须将数据附加到生成的设置的末尾。我不确定我会推荐这种方法,但如果附加数据是一个 zip 文件(或末尾带有标题的其他格式)并且您使用 NSIS zip 插件之一在运行时提取,它可能会起作用。 ..


4
投票

我使用 https://sourceforge.net/projects/nsisbi/ 而不是普通的 NSIS。它解决了问题。


1
投票

我正在使用 Silent Install Builder 5,并且在总容量小于 2 GB 的软件包安装程序中收到了同样的错误。一旦我确定 NSIS 编译器是罪魁祸首,我就开始尝试几种可能的解决方案,这是有效的:我从这里下载了更新的 NSISBI 编译器 https://sourceforge.net/projects/nsisbi/ 然后做了这 3步骤:

  1. 转到 C:\Program Files (x86)\Silent Install Builder 5 并将默认的 NSIS 文件夹重命名为新名称。
  2. 将 NSISBI 文件夹复制到 C:\Program Files (x86)\Silent Install Builder 5 目录,并将 IT 重命名为 NSIS。
  3. 尝试编译一些超过 2GB 和略低于 2GB 的大型软件包,前几次尝试我会在 Silent Install Builder 5 编译框中遇到丢失文件错误。不用担心,因为丢失的文件在旧的 NSIS 文件夹中,所以 y9u 不要删除它。
  4. 每次找到丢失的文件错误显示,找到丢失的文件并将它们复制到新 NSIS 文件夹中的相同文件夹位置。您将执行此操作大约 3 次,直到完全没有错误为止,然后您可以包含大文件而不会生成“内部编译器错误 #12345:错误映射文件 xxxx 超出范围”。错误信息。 NSISBI 有效!

0
投票

经过一些研究和摸索,一个非常简单的解决方案让我大吃一惊。包括资产 zip 和 NSIS install.exe,然后在第一部分运行

nsExec::ExecToStack 'cmd /c "tar -xf $EXEDIR\Install_deps.zip -C  $INSTDIR"'

这对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.