Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
readme-7336-2-beta.txt | 2023-05-20 | 2.0 kB | |
changelog.txt | 2023-05-20 | 6.5 kB | |
nsis-binary-7336-2-beta.zip | 2023-05-20 | 3.1 MB | |
nsis-code-7336-2-beta-NSIS-trunk.zip | 2023-05-20 | 2.4 MB | |
Totals: 4 Items | 5.5 MB | 0 |
NSISBI aims to remove the current 2GB limit found in NSIS. This version adds support for using a separate file for storing the install data, therefore allowing installer sizes up to a theoretical max size of 8EB. The command to use an external file is: OutFileMode auto | aio | data | stub. The 'aio' setting is the same as classic nsis (all-in-one installers). The 'data' setting forces creation of external files regardless of size (except zero data installers). The 'stub' setting is a specialized version of the 'data' mode, which turns the exehead into a downloadable stub and can use plugins to download the main install file. The 'auto' setting is the default, so it creates all-in-one installers up to the 4GB limit, past this limit it switches to an external file for the data. The only down side is that solid compression is not supported for external files, due to its design it just isn't feasible to add support. An undocumented 'Target' command also exists that allows the target architecture to be selected. It is: Target cpu-charset. Valid values are: x86-ansi, x86-unicode, amd64-unicode. This release is a beta release, intended to get feedback on the multithreading feature that I added. No script changes are required to take advantage of it :). Compiling the source code doesn't require any extra dependencies. By default it will autodetect the number of threads that your cpu has and use them. I added a new instruction to control this too: SetCompressorNumThreads. Zero or a negative number means use autodetection. Note: this doesn't affect the installer, it will always autodetect cpu threads to use. Important: Bzip2 is disabled in this release because of an obscure issue (decompression infinite loop). I haven't been able to find it yet, so any help would be greatly appreciated. Bzip2 is still present, I only added a check in script.cpp (in SetCompressor) to throw an error, you can remove this check and recompile the code to test it. See the changelog for updates.