我正在使用一个使用非常大的数据文件的应用程序。我的客户想要从setup exe中单独压缩这些数据文件,然后安装程序应该在开始安装之前解压缩它们。这可能是inno吗?我对Pascal没有太多经验,所以任何帮助都会受到高度赞赏。
答案 0 :(得分:2)
虽然Inno Setup内部有many uncompress routines来支持在编译期间压缩文件的各种方式。这些都没有发布到Pascal Scripting语言。
仍然可以执行此操作,但您必须构建DLL以执行解压缩步骤。然后在卸载中使用此DLL。
在Inno设置脚本的[Files]
中,您可以使用external
标记来引用设置中未包含的文件。
[Files]
Source: "data1.dat" DestDir: "{app}" Flags: external;
这会将与Setup.exe位于同一目录中的data1.dat复制到应用程序安装目录。
为数据文件构建单独的Inno安装脚本。将此脚本提供给您的客户端,以便他们可以使用编译器而不是Zip程序来运行它。
虽然默认值为lzma2/max
,但它会像ZIP一样压缩数据。然后可以通过[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)