【发布时间】:2011-05-13 20:53:50
【问题描述】:
我正在开发一个使用非常大的数据文件的应用程序。我的客户希望将这些数据文件与安装程序 exe 分开压缩,然后安装程序应在开始安装之前解压缩它们。这可能是inno吗?我在 Pascal 方面没有太多经验,因此非常感谢任何帮助。
【问题讨论】:
标签: zip inno-setup pascal unzip
我正在开发一个使用非常大的数据文件的应用程序。我的客户希望将这些数据文件与安装程序 exe 分开压缩,然后安装程序应在开始安装之前解压缩它们。这可能是inno吗?我在 Pascal 方面没有太多经验,因此非常感谢任何帮助。
【问题讨论】:
标签: zip inno-setup pascal unzip
虽然 Inno Setup 内部有 many uncompress routines 来支持它可以在编译期间压缩文件的各种方式。这些都没有发布到 Pascal 脚本语言。
仍然可以这样做,但是您必须构建一个 DLL 来执行解压缩步骤。然后在你的卸载中使用这个 DLL。
在 Inno Setup 脚本的 [Files] 中,您可以使用 external 标志引用未包含在您的设置中的文件。
[Files]
Source: "data1.dat" DestDir: "{app}" Flags: external;
这会将与 Setup.exe 位于同一目录中的 data1.dat 复制到应用程序安装目录。
为数据文件构建一个单独的 Inno 设置脚本。将此脚本提供给您的客户,以便他们可以使用编译器而不是 Zip 程序来运行此脚本。
它会像 ZIP 一样压缩数据,虽然默认是lzma2/max。然后可以通过[Run] 部分链接此安装,以便在安装应用程序后直接安装。
根据您的评论,我更了解您的问题。
您可以将所有 MP3 文件构建到一个安装设置中。您可以使用[Components] 部分对 MP3 文件进行分组。这允许用户选择他们想要安装的文件组。 [Files] 部分支持通配符,因此您可以指定单个目录中的所有文件,以使脚本更易于维护。
InnoSetup 旨在通过设置分解方式来处理大型安装 setup.exe 到多个文件中。
[Setup]
DiskSpanning=Yes
DiskSliceSize=XXX
SlicesPerDisk=XXX
SolidCompression=no (Default but it not recommended to be set 'YES' with Huge installs)
【讨论】: