解压缩过程何时发生以及 solidbreak 标志如何在 Inno Setup 中真正起作用?

When does decompression process take place and how does solidbreak flag really work in Inno Setup?

Inno Setup 中有 SolidCompression 这样的东西,[Files] 部分中使用了一个标志,即 solidbreak。任何人都可以向我解释上述标志是如何工作的,我们什么时候真正需要使用它以及什么时候进行解压过程?

固体压缩意味着文件被压缩,就好像所有文件只是一个大文件一样。这通常会产生更好的压缩效果,因为在一个文件中建立的压缩知识将转移到下一个文件,而不是重新启动。缺点是安装时要解压某个文件,必须解压之前的所有文件。

solidbreak 标志在应用时告诉压缩引擎拆分固体压缩并在涉及应用标志的源时启动新流,因此如果该文件特别需要要解压缩,解压缩代码可以简单地查找文件中它开始的位置。基本上,上面的缺点消失了,但是压缩知识的一些好处也会丢失。

如果你想使用固体压缩,并且你有那种你必须安装所有文件的文件,请不要使用 solidbreak,但如果你有一个复选框列表 select 模块,您 可能 想考虑将 solidbreak 应用到部分或所有可选模块。如果不这样做,所有文件都将被解压缩,即使 selectedd 选项只需要其中的一部分。确切的结果会因文件大小等因素而异,所以我只能说您可能需要进行实验才能看到结果。