NSIS/Docs/src/compilerflags.but
joostverburg 63a1f7a0e3 changelog, info, doc
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2665 212acab6-be3b-0410-9dea-997c60f758d6
2003-06-22 11:22:55 +00:00

45 lines
No EOL
3.9 KiB
Text

\S1{flags} Compiler Flags
The following commands change how the compiler generates code and compresses data. These commands are valid anywhere in the script, and effect every line below where each one is placed (until overridden by another command).
\S2{asetallowskipfiles} AllowSkipFiles
\c \\<b\\>on\\</b\\>|off
This command specifies whether the user should be able to skip a file or not. A user has an option to skip a file if \R{asetoverwrite}{SetOverwrite} is set to on (default) and the installer fails to open a file for writing when trying to extract a file. If \e{off} is used the ignore button which allows the user to skip the file will not show and the user will only have an option to abort the installation (Cancel button) or retry opening the file for writing (Retry button). If \e{on} is used the user will have an option to skip the file (error flag will be set - see \R{asetoverwrite}{SetOverwrite}).
\S2{asetcompress} SetCompress
\c \\<b\\>auto\\</b\\>|force|off
This command sets the compress flag which is used by the installer to determine whether or not data should be compressed. Typically the SetCompress flag will effect the commands after it, and the last SetCompress command in the file also determines whether or not the install info section and uninstall data of the installer is compressed. If compressflag is 'auto', then files are compressed if the compressed size is smaller than the uncompressed size. If compressflag is set to 'force', then the compressed version is always used. If compressflag is 'off' then compression is not used (which can be faster). Note that this option has no effect on bzip2 installers (compression is always used on bzip2 installers).
\S2{asetcompressor} SetCompressor
\c \\<b\\>zlib\\</b\\>|bzip2
This command sets the compression algorithm used to compress files/data in the installer. Options are ZLib or BZip2. ZLib (the default) uses deflate compression. This mode uses less memory at runtime and is faster. BZip2 compression is usually better for large installers, but it is slower and uses a lot more memory at runtime.
\S2{asetdatablockoptimize} SetDatablockOptimize
\c \\<b\\>on\\</b\\>|off
This command tells the compiler whether or not to do datablock optimizations. Datablock optimizations have the compiler check to see if any data being added to the data block is already in the data block, and if so, it is simply referenced as opposed to added (can save a little bit of size). It is highly recommended to leave this option on.
\S2{asetdatesave} SetDateSave
\c \\<b\\>on\\</b\\>|off
This command sets the file date/time saving flag which is used by the File command to determine whether or not to save the last write date and time of the file, so that it can be restored on installation. Valid flags are 'on' and 'off'. 'on' is the default.
\S2{asetoverwrite} SetOverwrite
\c \\<b\\>on\\</b\\>|off|try|ifnewer
This command sets the overwrite flag which is used by the File command to determine whether or not the file should overwrite any existing files that are present. If overwriteflag is 'on', files are overwritten (this is the default). If overwriteflag is 'off', files that are already present are not overwritten. If overwriteflag is 'try', files are overwritten if possible (meaning that if the file is not able to be written to, it is skipped without any user interaction). If overwriteflag is 'ifnewer', then files are only overwritten if the existing file is older than the new file (note that when in 'ifnewer' mode, the destination file's date is set, regardless of what SetDateSave is set to).
\S2{setpluginunload} SetPluginUnload
\c \\<b\\>manual\\</b\\>|alwaysoff
This command sets the unload plugin flag which is by CallInstDLL and plugin calls (dll::func). Setting this to always off will behave as if you have added the /NOUNLOAD to every CallInstDLL and plugin call. Setting this to manual will only not unload if you specifically use /NOUNLOAD.