applied patch #3307144 - more cross links in documentation (whyeye)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6152 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
b39f193c31
commit
041a8a9881
20 changed files with 146 additions and 146 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
\S1{attribgen} General Attributes
|
||||
|
||||
The commands below all adjust attributes of the installer. These attributes control how the installer looks and functions, including which pages are present in the installer, as what text is displayed in each part of each page, how the installer is named, what icon the installer uses, the default installation directory, what file it writes out, and more. Note that these attributes can be set anywhere in the file except in a Section or Function.
|
||||
The commands below all adjust attributes of the installer. These attributes control how the installer looks and functions, including which pages are present in the installer, as what text is displayed in each part of each page, how the installer is named, what icon the installer uses, the default installation directory, what file it writes out, and more. Note that these attributes can be set anywhere in the file except in a \R{ssection}{Section} or \R{ffunction}{Function}.
|
||||
|
||||
\\<b\\>\\<u\\>Defaults are bold and underlined\\</u\\>\\</b\\>
|
||||
|
||||
|
@ -10,9 +10,9 @@ The commands below all adjust attributes of the installer. These attributes cont
|
|||
|
||||
\c (left|right|top|bottom) (width|height) [padding]
|
||||
|
||||
Adds a branding image on the top, bottom, left, or right of the installer. Its size will be set according to the width/height specified, the installer width/height and the installer font. The final size will not always be what you requested; have a look at the output of the command for the actual size. Because this depends on the installer font, you should use SetFont before AddBrandingImage. The default padding value is 2.
|
||||
Adds a branding image on the top, bottom, left, or right of the installer. Its size will be set according to the width/height specified, the installer width/height and the installer font. The final size will not always be what you requested; have a look at the output of the command for the actual size. Because this depends on the installer font, you should use \R{asetfont}{SetFont} before \R{aaddbrandingimage}{AddBrandingImage}. The default padding value is 2.
|
||||
|
||||
AddBrandingImage only adds a placeholder for an image. To set the image itself on runtime, use \R{setbrandingimage}{SetBrandingImage}.
|
||||
\R{aaddbrandingimage}{AddBrandingImage} only adds a placeholder for an image. To set the image itself on runtime, use \R{setbrandingimage}{SetBrandingImage}.
|
||||
|
||||
\c AddBrandingImage left 100
|
||||
\c AddBrandingImage right 50
|
||||
|
@ -170,7 +170,7 @@ Specifies which variable is to be used to contain the directory selected. This v
|
|||
|
||||
\c \\<b\\>auto\\</b\\>|leave
|
||||
|
||||
If `DirVerify leave' is used, the Next button will not be disabled if the installation directory is not valid or there is not enough space. A flag that you can read in the leave function using \R{getinstdirerror}{GetInstDirError} will be set instead.
|
||||
If `\R{adirverify}{DirVerify} leave' is used, the Next button will not be disabled if the installation directory is not valid or there is not enough space. A flag that you can read in the leave function using \R{getinstdirerror}{GetInstDirError} will be set instead.
|
||||
|
||||
\c PageEx directory
|
||||
\c DirVerify leave
|
||||
|
@ -215,9 +215,9 @@ Sets the default installation directory. See the \R{variables}{variables section
|
|||
|
||||
\c root_key subkey key_name
|
||||
|
||||
This attribute tells the installer to check a string in the registry, and use it for the install dir if that string is valid. If this attribute is present, it will override the InstallDir attribute if the registry key is valid, otherwise it will fall back to the InstallDir default. When querying the registry, this command will automatically remove any quotes. If the string ends in ".exe", it will automatically remove the filename component of the string (i.e. if the string is "C:\\program files\\poop\\poop.exe", it will know to use "C:\\program files\\poop"). For more advanced install directory configuration, set $INSTDIR in .onInit.
|
||||
This attribute tells the installer to check a string in the registry, and use it for the install dir if that string is valid. If this attribute is present, it will override the \R{ainstalldir}{InstallDir} attribute if the registry key is valid, otherwise it will fall back to the \R{ainstalldir}{InstallDir} default. When querying the registry, this command will automatically remove any quotes. If the string ends in ".exe", it will automatically remove the filename component of the string (i.e. if the string is "C:\\program files\\poop\\poop.exe", it will know to use "C:\\program files\\poop"). For more advanced install directory configuration, set $INSTDIR in .onInit.
|
||||
|
||||
Language strings and variables cannot be used with InstallDirRegKey.
|
||||
Language strings and variables cannot be used with \R{ainstalldirregkey}{InstallDirRegKey}.
|
||||
|
||||
\c InstallDirRegKey HKLM Software\NSIS ""
|
||||
\c InstallDirRegKey HKLM Software\ACME\Thingy InstallLocation
|
||||
|
@ -226,13 +226,13 @@ Language strings and variables cannot be used with InstallDirRegKey.
|
|||
|
||||
\c [flag [...]]
|
||||
|
||||
Valid values for flag are "smooth" (smooth the progress bar) or "colored" (color the progress bar with the colors set by InstallColors. Examples: "InstProgressFlags" (default old-school windows look), "InstProgressFlags smooth" (new smooth look), "InstProgressFlags smooth colored" (colored smooth look whee). Note: neither "smooth" or "colored" work with \R{axpstyle}{XPStyle} on when the installer runs on Windows XP with a modern theme.
|
||||
Valid values for flag are "smooth" (smooth the progress bar) or "colored" (color the progress bar with the colors set by \R{ainstallcolors}{InstallColors}. Examples: "InstProgressFlags" (default old-school windows look), "InstProgressFlags smooth" (new smooth look), "InstProgressFlags smooth colored" (colored smooth look whee). Note: neither "smooth" or "colored" work with \R{axpstyle}{XPStyle} on when the installer runs on Windows XP with a modern theme.
|
||||
|
||||
\S2{ainsttype} InstType
|
||||
|
||||
\c install_type_name | /NOCUSTOM | /CUSTOMSTRING=str | /COMPONENTSONLYONCUSTOM
|
||||
|
||||
Adds an install type to the install type list, or disables the custom install type. There can be as many as 32 types, each one specifying the name of the install type. If the name is prefixed with 'un.' it is an uninstaller install type. The name can contain variables which will be processed at runtime before the components page shows. Another way of changing the InstType name during runtime is the \R{sinsttypesettext}{InstTypeSetText} command. The difference is that with \R{sinsttypesettext}{InstTypeSetText} you are saving your precious user variables. The first type is the default (generally 'Typical'). If the /NOCUSTOM switch is specified, then the "custom" install type is disabled, and the user has to choose one of the pre-defined install types. Alternatively, if the /CUSTOMSTRING switch is specified, the parameter will override the "Custom" install type text. Alternatively, if the /COMPONENTSONLYONCUSTOM flag is specified, the component list will only be shown if the "Custom" install type is selected.
|
||||
Adds an install type to the install type list, or disables the custom install type. There can be as many as 32 types, each one specifying the name of the install type. If the name is prefixed with 'un.' it is an uninstaller install type. The name can contain variables which will be processed at runtime before the components page shows. Another way of changing the \R{ainsttype}{InstType} name during runtime is the \R{sinsttypesettext}{InstTypeSetText} command. The difference is that with \R{sinsttypesettext}{InstTypeSetText} you are saving your precious user variables. The first type is the default (generally 'Typical'). If the /NOCUSTOM switch is specified, then the "custom" install type is disabled, and the user has to choose one of the pre-defined install types. Alternatively, if the /CUSTOMSTRING switch is specified, the parameter will override the "Custom" install type text. Alternatively, if the /COMPONENTSONLYONCUSTOM flag is specified, the component list will only be shown if the "Custom" install type is selected.
|
||||
|
||||
Accepts variables for type names. If variables are used, they must be initialized before the components page is created.
|
||||
|
||||
|
@ -345,7 +345,7 @@ Sets whether or not the details of the uninstall are shown. Can be 'hide' to hid
|
|||
|
||||
\c \\<b\\>normal\\</b\\>|silent|silentlog
|
||||
|
||||
Specifies whether or not the installer should be silent. If it is 'silent' or 'silentlog', all sections that have the SF_SELECTED flag are installed quietly (you can set this flag using \R{sectionsetflags}{SectionSetFlags}), with no screen output from the installer itself (the script can still display whatever it wants, use \R{messagebox}{MessageBox}'s /SD to specify a default for silent installers). Note that if this is set to 'normal' and the user runs the installer with /S (case sensitive) on the command line, it will behave as if SilentInstall 'silent' was used. Note: see also \R{logset}{LogSet}.
|
||||
Specifies whether or not the installer should be silent. If it is 'silent' or 'silentlog', all sections that have the SF_SELECTED flag are installed quietly (you can set this flag using \R{sectionsetflags}{SectionSetFlags}), with no screen output from the installer itself (the script can still display whatever it wants, use \R{messagebox}{MessageBox}'s /SD to specify a default for silent installers). Note that if this is set to 'normal' and the user runs the installer with /S (case sensitive) on the command line, it will behave as if \R{asilentinstall}{SilentInstall} 'silent' was used. Note: see also \R{logset}{LogSet}.
|
||||
|
||||
See \k{silent} for more information.
|
||||
|
||||
|
@ -353,7 +353,7 @@ See \k{silent} for more information.
|
|||
|
||||
\c \\<b\\>normal\\</b\\>|silent
|
||||
|
||||
Specifies whether or not the uninstaller should be silent. If it is 'silent' or 'silentlog', the uninstall section will run quietly, with no screen output from the uninstaller itself (the script can still display whatever it wants, use \R{messagebox}{MessageBox}'s /SD to specify a default for silent installers). Note that if this is set to 'normal' and the user runs the uninstaller with /S on the command line, it will behave as if SilentUnInstall 'silent' was used. Note: see also \R{logset}{LogSet}.
|
||||
Specifies whether or not the uninstaller should be silent. If it is 'silent' or 'silentlog', the uninstall section will run quietly, with no screen output from the uninstaller itself (the script can still display whatever it wants, use \R{messagebox}{MessageBox}'s /SD to specify a default for silent installers). Note that if this is set to 'normal' and the user runs the uninstaller with /S on the command line, it will behave as if \R{asilentuninstall}{SilentUnInstall} 'silent' was used. Note: see also \R{logset}{LogSet}.
|
||||
|
||||
See \k{silent} for more information.
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ Execute the specified program using ShellExecute. Note that action is usually "o
|
|||
|
||||
\c command [user_var(exit code)]
|
||||
|
||||
Execute the specified program and wait for the executed process to quit. See Exec for more information. If no output variable is specified ExecWait sets the error flag if the program executed returns a nonzero error code, or if there is an error. If an output variable is specified, ExecWait sets the variable with the exit code (and only sets the error flag if an error occurs; if an error occurs the contents of the user variable are undefined). Note, if the command could have spaces, you should put it in quotes to delimit it from parameters. e.g.: ExecWait '"$INSTDIR\\command.exe" parameters'. If you don't put it in quotes it will \e{not} work on Windows 9x with or without parameters.
|
||||
Execute the specified program and wait for the executed process to quit. See \R{exec}{Exec} for more information. If no output variable is specified \R{execwait}{ExecWait} sets the error flag if the program executed returns a nonzero error code, or if there is an error. If an output variable is specified, \R{execwait}{ExecWait} sets the variable with the exit code (and only sets the error flag if an error occurs; if an error occurs the contents of the user variable are undefined). Note, if the command could have spaces, you should put it in quotes to delimit it from parameters. e.g.: ExecWait '"$INSTDIR\\command.exe" parameters'. If you don't put it in quotes it will \e{not} work on Windows 9x with or without parameters.
|
||||
|
||||
\c ExecWait '"$INSTDIR\someprogram.exe"'
|
||||
\c ExecWait '"$INSTDIR\someprogram.exe"' $0
|
||||
|
@ -59,7 +59,7 @@ Adds file(s) to be extracted to the current output path ($OUTDIR).
|
|||
|
||||
\b If the /a switch is used, the attributes of the file(s) added will be preserved.
|
||||
|
||||
\b The File command sets the error flag if overwrite mode is set to 'try' and the file could not be overwritten, or if the overwrite mode is set to 'on' and the file could not be overwritten and the user selects ignore.
|
||||
\b The \R{file}{File} command sets the error flag if overwrite mode is set to 'try' and the file could not be overwritten, or if the overwrite mode is set to 'on' and the file could not be overwritten and the user selects ignore.
|
||||
|
||||
\b If the /nonfatal switch is used and no files are found, a warning will be issued instead of an error.
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ Have a look at \R{onguiinit}{.onGUIInit} for an example.
|
|||
|
||||
\S3{unonInit} un.onInit
|
||||
|
||||
This callback will be called when the uninstaller is nearly finished initializing. If the 'un.onInit' function calls Abort, the uninstaller will quit instantly. Note that this function can verify and/or modify $INSTDIR if necessary.
|
||||
This callback will be called when the uninstaller is nearly finished initializing. If the ' \R{unonInit}{un.onInit}' function calls \R{abort}{Abort}, the uninstaller will quit instantly. Note that this function can verify and/or modify $INSTDIR if necessary.
|
||||
|
||||
Here are two examples of how this might be used:
|
||||
|
||||
|
@ -197,7 +197,7 @@ Selection changes include both section selection and installation type change.
|
|||
|
||||
\S3{unonuserabort} un.onUserAbort
|
||||
|
||||
This callback is called when the user hits the 'cancel' button and the uninstall hasn't already failed. If this function calls Abort, the install will not be aborted.
|
||||
This callback is called when the user hits the 'cancel' button and the uninstall hasn't already failed. If this function calls \R{abort}{Abort}, the install will not be aborted.
|
||||
|
||||
Example:
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ This command will include 'file' as if it was part of the original script. Note
|
|||
|
||||
\c directory
|
||||
|
||||
Adds another include directory to the include directories list. This list is searched when !include is used. This list's initial value is $\{NSISDIR\}\\Include alone.
|
||||
Adds another include directory to the include directories list. This list is searched when \R{include}{!include} is used. This list's initial value is $\{NSISDIR\}\\Include alone.
|
||||
|
||||
\c !addincludedir ..\include
|
||||
\c !include something.nsh
|
||||
|
@ -87,9 +87,9 @@ This command will issue an error to the script compiler and will stop execution
|
|||
|
||||
\c command
|
||||
|
||||
This command will execute 'command' using a call to CreateProcess(). Unlike \R{system}{!system}, it does not use the command line processor, so input/output redirection and commands like 'cd', 'dir' and 'type' can not be used. !execute also ignores the return value of the executed command. Currently, the only known advantage of !execute over \R{system}{!system} is that it does not give trouble when the current working directory is specified using UNC.
|
||||
This command will execute 'command' using a call to CreateProcess(). Unlike \R{system}{!system}, it does not use the command line processor, so input/output redirection and commands like 'cd', 'dir' and 'type' can not be used. \R{execute}{!execute} also ignores the return value of the executed command. Currently, the only known advantage of \R{execute}{!execute} over \R{system}{!system} is that it does not give trouble when the current working directory is specified using UNC.
|
||||
|
||||
On POSIX platforms, !execute will use system() just like \R{system}{!system}.
|
||||
On POSIX platforms, \R{execute}{!execute} will use system() just like \R{system}{!system}.
|
||||
|
||||
\c !execute '"%WINDIR%\notepad.exe" "${NSISDIR}\license.txt"'
|
||||
|
||||
|
@ -155,7 +155,7 @@ This command will issue a warning to the script compiler. You can also add a mes
|
|||
|
||||
This command will set the level of verbosity. 4=all, 3=no script, 2=no info, 1=no warnings, 0=none.
|
||||
|
||||
Passing push will cause !verbose to push the current verbosity level on a special stack. Passing pop will cause !verbose to pop the current verbosity level from the same stack and use it.
|
||||
Passing push will cause \R{verbose}{!verbose} to push the current verbosity level on a special stack. Passing pop will cause \R{verbose}{!verbose} to pop the current verbosity level from the same stack and use it.
|
||||
|
||||
\c !verbose push
|
||||
\c !verbose 1
|
||||
|
|
|
@ -37,7 +37,7 @@ This command sets the size of the compiler's internal file buffers. This command
|
|||
|
||||
\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 affect 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).
|
||||
This command sets the compress flag which is used by the installer to determine whether or not data should be compressed. Typically the \R{asetcompress}{SetCompress} flag will affect the commands after it, and the last \R{asetcompress}{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 when solid compression is used.
|
||||
|
||||
|
@ -55,7 +55,7 @@ BZIP2 usually gives better compression ratios than ZLIB, but it is a bit slower
|
|||
|
||||
LZMA is a new compression method that gives very good compression ratios. The decompression speed is high (10-20 MB/s on a 2 GHz CPU), the compression speed is lower. The memory size that will be used for decompression is the dictionary size plus a few KBs, the default is 8 MB.
|
||||
|
||||
If \e{/FINAL} is used, subsequent calls to SetCompressor will be ignored.
|
||||
If \e{/FINAL} is used, subsequent calls to \R{asetcompressor}{SetCompressor} will be ignored.
|
||||
|
||||
If \e{/SOLID} is used, all of the installer data is compressed in one block. This results in greater compression ratios.
|
||||
|
||||
|
@ -75,13 +75,13 @@ This command tells the compiler whether or not to do datablock optimizations. Da
|
|||
|
||||
\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.
|
||||
This command sets the file date/time saving flag which is used by the \R{file}{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|ifdiff|lastused
|
||||
|
||||
This command sets the overwrite flag which is used by the \R{file}{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. If overwriteflag is 'ifdiff', then files are only overwritten if the existing file is older or newer than the new file. Note that when in 'ifnewer' or 'ifdiff' mode, the destination file's date is set, regardless of what SetDateSave is set to.
|
||||
This command sets the overwrite flag which is used by the \R{file}{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. If overwriteflag is 'ifdiff', then files are only overwritten if the existing file is older or newer than the new file. Note that when in 'ifnewer' or 'ifdiff' mode, the destination file's date is set, regardless of what \R{asetdatesave}{SetDateSave} is set to.
|
||||
|
||||
\c SetOverwrite off
|
||||
\c File program.cfg # config file we don't want to overwrite
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
\c handle
|
||||
|
||||
Closes a file handle opened with FileOpen.
|
||||
Closes a file handle opened with \R{FileOpen}{FileOpen}.
|
||||
|
||||
\S2{FileOpen} FileOpen
|
||||
|
||||
|
@ -21,7 +21,7 @@ If no absolute path is specified the current folder will be used. The current fo
|
|||
|
||||
\c handle user_var(output) [maxlen]
|
||||
|
||||
Reads a string (ANSI characters) from a file opened with FileOpen. The string is read until either a newline (or carriage return newline pair) occurs, or until a null byte is read, or until maxlen is met (if specified). By default, strings are limited to 1024 characters (a special build with larger NSIS_MAX_STRLEN can be compiled or downloaded). If the end of file is read and no more data is available, the output string will be empty, and the error flag will be set.
|
||||
Reads a string (ANSI characters) from a file opened with \R{FileOpen}{FileOpen}. The string is read until either a newline (or carriage return newline pair) occurs, or until a null byte is read, or until maxlen is met (if specified). By default, strings are limited to 1024 characters (a special build with larger NSIS_MAX_STRLEN can be compiled or downloaded). If the end of file is read and no more data is available, the output string will be empty, and the error flag will be set.
|
||||
|
||||
(If you are building a \R{intro-unicode}{Unicode installer}, the function reads an ANSI string and makes the adequate conversion)
|
||||
|
||||
|
@ -39,7 +39,7 @@ Reads a string (ANSI characters) from a file opened with FileOpen. The string is
|
|||
|
||||
This function is only available when building a \R{intro-unicode}{Unicode installer}.
|
||||
|
||||
Reads a string (UTF-16LE characters) from a file opened with FileOpen. The string is read until either a newline (or carriage return newline pair) occurs, or until a null wide-character is read, or until maxlen is met (if specified). By default, strings are limited to 1024 characters (a special build with larger NSIS_MAX_STRLEN can be compiled or downloaded). If the end of file is read and no more data is available, the output string will be empty, and the error flag will be set.
|
||||
Reads a string (UTF-16LE characters) from a file opened with \R{FileOpen}{FileOpen}. The string is read until either a newline (or carriage return newline pair) occurs, or until a null wide-character is read, or until maxlen is met (if specified). By default, strings are limited to 1024 characters (a special build with larger NSIS_MAX_STRLEN can be compiled or downloaded). If the end of file is read and no more data is available, the output string will be empty, and the error flag will be set.
|
||||
|
||||
\c ClearErrors
|
||||
\c FileOpen $0 $INSTDIR\file.dat r
|
||||
|
@ -53,7 +53,7 @@ Reads a string (UTF-16LE characters) from a file opened with FileOpen. The strin
|
|||
|
||||
\c handle user_var(output)
|
||||
|
||||
Reads a byte from a file opened with FileOpen. The byte is stored in the output as an integer (0-255). If the end of file is read and no more data is available, the output will be empty, and the error flag will be set.
|
||||
Reads a byte from a file opened with \R{FileOpen}{FileOpen}. The byte is stored in the output as an integer (0-255). If the end of file is read and no more data is available, the output will be empty, and the error flag will be set.
|
||||
|
||||
\c ClearErrors
|
||||
\c FileOpen $0 $INSTDIR\file.dat r
|
||||
|
@ -70,7 +70,7 @@ Reads a byte from a file opened with FileOpen. The byte is stored in the output
|
|||
|
||||
This function is only available when building a \R{intro-unicode}{Unicode installer}.
|
||||
|
||||
Reads a word (2-bytes) from a file opened with FileOpen. The word is stored in the output as an integer (0-65535). If the end of file is read and no more data is available, the output will be empty, and the error flag will be set.
|
||||
Reads a word (2-bytes) from a file opened with \R{FileOpen}{FileOpen}. The word is stored in the output as an integer (0-65535). If the end of file is read and no more data is available, the output will be empty, and the error flag will be set.
|
||||
|
||||
\c ClearErrors
|
||||
\c FileOpen $0 $INSTDIR\file.dat r
|
||||
|
@ -85,7 +85,7 @@ Reads a word (2-bytes) from a file opened with FileOpen. The word is stored in t
|
|||
|
||||
\c handle offset [mode] [user_var(new position)]
|
||||
|
||||
Seeks a file opened with FileOpen. If mode is omitted or specified as SET, the file is positioned to "offset", relative to the beginning of the file. If mode is specified as CUR, then the file is positioned to "offset", relative to the current file position. If mode is specified as END, then the file is positioned to "offset", relative to the end of the file. If the final parameter "new position" is specified, the new file position will be stored to that variable.
|
||||
Seeks a file opened with \R{FileOpen}{FileOpen}. If mode is omitted or specified as SET, the file is positioned to "offset", relative to the beginning of the file. If mode is specified as CUR, then the file is positioned to "offset", relative to the current file position. If mode is specified as END, then the file is positioned to "offset", relative to the end of the file. If the final parameter "new position" is specified, the new file position will be stored to that variable.
|
||||
|
||||
\c ClearErrors
|
||||
\c FileOpen $0 $INSTDIR\file.dat r
|
||||
|
@ -100,7 +100,7 @@ Seeks a file opened with FileOpen. If mode is omitted or specified as SET, the f
|
|||
|
||||
\c handle string
|
||||
|
||||
Writes an ANSI string to a file opened with FileOpen. If an error occurs writing, the error flag will be set.
|
||||
Writes an ANSI string to a file opened with \R{FileOpen}{FileOpen}. If an error occurs writing, the error flag will be set.
|
||||
|
||||
(If you are building a \R{intro-unicode}{Unicode installer}, the function makes the adequate conversion and writes an ANSI string)
|
||||
|
||||
|
@ -117,7 +117,7 @@ Writes an ANSI string to a file opened with FileOpen. If an error occurs writing
|
|||
|
||||
This function is only available when building a \R{intro-unicode}{Unicode installer}.
|
||||
|
||||
Writes a Unicode (UTF-16LE) string to a file opened with FileOpen. If an error occurs writing, the error flag will be set.
|
||||
Writes a Unicode (UTF-16LE) string to a file opened with \R{FileOpen}{FileOpen}. If an error occurs writing, the error flag will be set.
|
||||
|
||||
\c ClearErrors
|
||||
\c FileOpen $0 $INSTDIR\file.dat w
|
||||
|
@ -130,7 +130,7 @@ Writes a Unicode (UTF-16LE) string to a file opened with FileOpen. If an error o
|
|||
|
||||
\c handle string
|
||||
|
||||
Writes the integer interpretation of 'string' to a file opened with FileOpen. Of course you can enter the integer value directly. The following code writes a "Carriage Return / Line Feed" - Enter to the file.
|
||||
Writes the integer interpretation of 'string' to a file opened with \R{FileOpen}{FileOpen}. Of course you can enter the integer value directly. The following code writes a "Carriage Return / Line Feed" - Enter to the file.
|
||||
|
||||
\c FileWriteByte file_handle "13"
|
||||
\c FileWriteByte file_handle "10"
|
||||
|
@ -143,7 +143,7 @@ If an error occurs while writing, the error flag will be set. Note that the low
|
|||
|
||||
This function is only available when building a \R{intro-unicode}{Unicode installer}.
|
||||
|
||||
Writes the integer interpretation of 'string' as a WORD (2-bytes, range: 0-65535) to a file opened with FileOpen. Of course you can enter the integer value directly. The following code writes a "Carriage Return / Line Feed" - Enter to the file.
|
||||
Writes the integer interpretation of 'string' as a WORD (2-bytes, range: 0-65535) to a file opened with \R{FileOpen}{FileOpen}. Of course you can enter the integer value directly. The following code writes a "Carriage Return / Line Feed" - Enter to the file.
|
||||
|
||||
\c FileWriteWord file_handle "13"
|
||||
\c FileWriteWord file_handle "10"
|
||||
|
@ -154,13 +154,13 @@ If an error occurs while writing, the error flag will be set. Note that the low
|
|||
|
||||
\c handle
|
||||
|
||||
Closes a search opened with FindFirst.
|
||||
Closes a search opened with \R{FindFirst}{FindFirst}.
|
||||
|
||||
\S2{FindFirst} FindFirst
|
||||
|
||||
\c user_var(handle output) user_var(filename output) filespec
|
||||
|
||||
Performs a search for 'filespec', placing the first file found in filename_output (a user variable). It also puts the handle of the search into handle_output (also a user variable). If no files are found, both outputs are set to empty, and the error flag is set. Best used with FindNext and FindClose. Note that the filename output is without path.
|
||||
Performs a search for 'filespec', placing the first file found in filename_output (a user variable). It also puts the handle of the search into handle_output (also a user variable). If no files are found, both outputs are set to empty, and the error flag is set. Best used with \R{FindNext}{FindNext} and \R{FindClose}{FindClose}. Note that the filename output is without path.
|
||||
|
||||
\c FindFirst $0 $1 $INSTDIR\*.txt
|
||||
\c loop:
|
||||
|
@ -175,4 +175,4 @@ Performs a search for 'filespec', placing the first file found in filename_outpu
|
|||
|
||||
\c handle user_var(filename_output)
|
||||
|
||||
Continues a search began with FindFirst. handle should be the handle_output_variable returned by FindFirst. If the search is completed (there are no more files), filename_output is set to empty, and the error flag is set. Note that the filename output is without path.
|
||||
Continues a search began with \R{FindFirst}{FindFirst}. handle should be the handle_output_variable returned by \R{FindFirst}{FindFirst}. If the search is completed (there are no more files), filename_output is set to empty, and the error flag is set. Note that the filename output is without path.
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
\c user_message
|
||||
|
||||
Cancels the install, stops execution of script, and displays user_message in the status display. Note: you can use this from \R{callbacks}{Callback functions} to do special things. \R{pages}{Page callbacks} also uses Abort for special purposes.
|
||||
Cancels the install, stops execution of script, and displays user_message in the status display. Note: you can use this from \R{callbacks}{Callback functions} to do special things. \R{pages}{Page callbacks} also uses \R{abort}{Abort} for special purposes.
|
||||
|
||||
\c Abort
|
||||
\c Abort "can't install"
|
||||
|
@ -43,7 +43,7 @@ Clears the error flag.
|
|||
|
||||
\c user_var(output)
|
||||
|
||||
Gets the address of the current instruction (the GetCurrentAddress) and stores it in the output user variable. This user variable then can be passed to Call or Goto.
|
||||
Gets the address of the current instruction (the \R{getcurrentaddress}{GetCurrentAddress}) and stores it in the output user variable. This user variable then can be passed to \R{call}{Call} or \R{goto}{Goto}.
|
||||
|
||||
\c Function func
|
||||
\c DetailPrint "function"
|
||||
|
@ -70,7 +70,7 @@ Gets the address of the current instruction (the GetCurrentAddress) and stores i
|
|||
|
||||
\c user_var(output) function_name
|
||||
|
||||
Gets the address of the function and stores it in the output user variable. This user variable then can be passed to Call or Goto. Note that if you Goto an address which is the output of GetFunctionAddress, your function will never be returned to (when the function you Goto'd to returns, you return instantly).
|
||||
Gets the address of the function and stores it in the output user variable. This user variable then can be passed to \R{call}{Call} or \R{goto}{Goto}. Note that if you \R{goto}{Goto} an address which is the output of \R{getfunctionaddress}{GetFunctionAddress}, your function will never be returned to (when the function you Goto'd to returns, you return instantly).
|
||||
|
||||
\c Function func
|
||||
\c DetailPrint "function"
|
||||
|
@ -85,7 +85,7 @@ Gets the address of the function and stores it in the output user variable. This
|
|||
|
||||
\c user_var(output) label
|
||||
|
||||
Gets the address of the label and stores it in the output user variable. This user variable then can be passed to Call or Goto. Note that you may only call this with labels accessible from your function, but you can call it from anywhere (which is potentially dangerous). Note that if you Call the output of GetLabelAddress, code will be executed until it Return's (explicitly or implicitly at the end of a function), and then you will be returned to the statement after the Call.
|
||||
Gets the address of the label and stores it in the output user variable. This user variable then can be passed to \R{call}{Call} or \R{goto}{Goto}. Note that you may only call this with labels accessible from your function, but you can call it from anywhere (which is potentially dangerous). Note that if you \R{call}{Call} the output of \R{getlabeladdress}{GetLabelAddress}, code will be executed until it Return's (explicitly or implicitly at the end of a function), and then you will be returned to the statement after the \R{call}{Call}.
|
||||
|
||||
\c label:
|
||||
\c DetailPrint "label"
|
||||
|
@ -102,7 +102,7 @@ If label is specified, goto the label 'label_to_jump_to:'.
|
|||
|
||||
If +offset or -offset is specified, jump is relative by offset instructions. Goto +1 goes to the next instruction, Goto -1 goes to the previous instruction, etc.
|
||||
|
||||
If a user variable is specified, jumps to absolute address (generally you will want to get this value from a function like GetLabelAddress). Compiler flag commands and SectionIn aren't instructions so jumping over them has no effect.
|
||||
If a user variable is specified, jumps to absolute address (generally you will want to get this value from a function like \R{getlabeladdress}{GetLabelAddress}). Compiler flag commands and \R{ssectionin}{SectionIn} aren't instructions so jumping over them has no effect.
|
||||
|
||||
\c Goto label
|
||||
\c Goto +2
|
||||
|
@ -137,7 +137,7 @@ Checks and clears the error flag, and if it is set, it will goto jumpto_iferror,
|
|||
|
||||
\c file_to_check_for jump_if_present [jump_otherwise]
|
||||
|
||||
Checks for existence of file(s) file_to_check_for (which can be a wildcard, or a directory), and Gotos jump_if_present if the file exists, otherwise Gotos jump_otherwise. If you want to check to see if a file is a directory, use IfFileExists DIRECTORY\\*.*
|
||||
Checks for existence of file(s) file_to_check_for (which can be a wildcard, or a directory), and Gotos jump_if_present if the file exists, otherwise Gotos jump_otherwise. If you want to check to see if a file is a directory, use \R{iffileexists}{IfFileExists} DIRECTORY\\*.*
|
||||
|
||||
\c IfFileExists $WINDIR\notepad.exe 0 +2
|
||||
\c MessageBox MB_OK "notepad is installed"
|
||||
|
@ -146,7 +146,7 @@ Checks for existence of file(s) file_to_check_for (which can be a wildcard, or a
|
|||
|
||||
\c jump_if_set [jump_if_not_set]
|
||||
|
||||
Checks the reboot flag, and jumps to jump_if_set if the reboot flag is set, otherwise jumps to jump_if_not_set. The reboot flag can be set by Delete and Rename, or manually with \R{setrebootflag}{SetRebootFlag}.
|
||||
Checks the reboot flag, and jumps to jump_if_set if the reboot flag is set, otherwise jumps to jump_if_not_set. The reboot flag can be set by \R{delete}{Delete} and \R{rename}{Rename}, or manually with \R{setrebootflag}{SetRebootFlag}.
|
||||
|
||||
\c IfRebootFlag 0 noreboot
|
||||
\c MessageBox MB_YESNO "A reboot is required to finish the installation. Do you wish to reboot now?" IDNO noreboot
|
||||
|
@ -190,7 +190,7 @@ Compares two unsigned integers val1 and val2. If val1 and val2 are equal, Gotos
|
|||
|
||||
\c mb_option_list messagebox_text [/SD return] [return_check jumpto] [return_check_2 jumpto_2]
|
||||
|
||||
Displays a MessageBox containing the text "messagebox_text". mb_option_list must be one or more of the following, delimited by |s (e.g. MB_YESNO|MB_ICONSTOP).
|
||||
Displays a \R{messagebox}{MessageBox} containing the text "messagebox_text". mb_option_list must be one or more of the following, delimited by |s (e.g. MB_YESNO|MB_ICONSTOP).
|
||||
|
||||
\b \e{MB_OK} - Display with an OK button
|
||||
|
||||
|
@ -246,7 +246,7 @@ Return_check can be 0 (or empty, or left off), or one of the following:
|
|||
|
||||
\b \e{IDYES} - Yes button
|
||||
|
||||
If the return value of the MessageBox is return_check, the installer will Goto jumpto.
|
||||
If the return value of the \R{messagebox}{MessageBox} is return_check, the installer will Goto jumpto.
|
||||
|
||||
Use the /SD parameter with one of the return_check values above to specify the option that will be used when the installer is silent. See \k{silent} for more information.
|
||||
|
||||
|
@ -282,7 +282,7 @@ Returns from a function or section.
|
|||
|
||||
\S2{quit} Quit
|
||||
|
||||
Causes the installer to exit as soon as possible. After Quit is called, the installer will exit (no callback functions will get a chance to run).
|
||||
Causes the installer to exit as soon as possible. After \R{quit}{Quit} is called, the installer will exit (no callback functions will get a chance to run).
|
||||
|
||||
\S2{seterrors} SetErrors
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
\H{functions} Functions
|
||||
|
||||
Functions are similar to Sections in that they contain zero or more instructions. User functions are not called by the installer directly, instead they are called from Sections using the Call instruction. Callback functions will be called by the installer when a certain event occurs.
|
||||
Functions are similar to Sections in that they contain zero or more instructions. User functions are not called by the installer directly, instead they are called from Sections using the \R{call}{Call} instruction. Callback functions will be called by the installer when a certain event occurs.
|
||||
|
||||
Functions must be declared outside of Sections or other Functions.
|
||||
|
||||
|
@ -10,7 +10,7 @@ Functions must be declared outside of Sections or other Functions.
|
|||
|
||||
\c [function_name]
|
||||
|
||||
Begins and opens a new function. Function names beginning with "." (e.g. ".Whatever") are generally reserved for callback functions. Function names beginning with "un." are functions that will be generated in the Uninstaller. Hence, normal install Sections and functions cannot call uninstall functions, and the Uninstall Section and uninstall functions cannot call normal functions.
|
||||
Begins and opens a new function. \R{ffunction}{Function} names beginning with "." (e.g. ".Whatever") are generally reserved for callback functions. \R{ffunction}{Function} names beginning with "un." are functions that will be generated in the Uninstaller. Hence, normal install Sections and functions cannot call uninstall functions, and the Uninstall Section and uninstall functions cannot call normal functions.
|
||||
|
||||
\c Function func
|
||||
\c # some commands
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
\c dllfile function_name
|
||||
|
||||
Calls a function named \e{function_name} inside a NSIS extension DLL, a plug-in. See the \L{../Examples/Plugin/}{example plugin} for how to make one. Extension DLLs can access the stack and variables. Note: To automatically extract and call plug-in DLLs, use a plug-in command instead of CallInstDLL.
|
||||
Calls a function named \e{function_name} inside a NSIS extension DLL, a plug-in. See the \L{../Examples/Plugin/}{example plugin} for how to make one. Extension DLLs can access the stack and variables. Note: To automatically extract and call plug-in DLLs, use a plug-in command instead of \R{callinstdll}{CallInstDLL}.
|
||||
|
||||
\c Push "a parameter"
|
||||
\c Push "another parameter"
|
||||
|
@ -66,7 +66,7 @@ Gets the version information from the DLL (or any other executable containing ve
|
|||
|
||||
\c localfilename user_var(high dword output) user_var(low dword output)
|
||||
|
||||
This is similar to GetDLLVersion, only it acts on the system building the installer (it actually compiles into two StrCpy commands). Sets the two output variables with the DLL version information of the DLL on the build system.
|
||||
This is similar to \R{getdllversion}{GetDLLVersion}, only it acts on the system building the installer (it actually compiles into two \R{StrCpy}{StrCpy} commands). Sets the two output variables with the DLL version information of the DLL on the build system.
|
||||
|
||||
\S2{getfiletime} GetFileTime
|
||||
|
||||
|
@ -78,7 +78,7 @@ Gets the last write time of "filename". Sets the user output variables with the
|
|||
|
||||
\c localfilename user_var(high dword output) user_var(low dword output)
|
||||
|
||||
This is similar to GetFileTime, only it acts on the system building the installer (it actually compiles into two StrCpy commands). Sets the two output variables with the file timestamp of the file on the build system.
|
||||
This is similar to \R{getfiletime}{GetFileTime}, only it acts on the system building the installer (it actually compiles into two \R{StrCpy}{StrCpy} commands). Sets the two output variables with the file timestamp of the file on the build system.
|
||||
|
||||
\S2{getfullpathname} GetFullPathName
|
||||
|
||||
|
@ -103,7 +103,7 @@ Assign to the user variable $x, the full path of the file specified. If the path
|
|||
|
||||
\c user_var(output) base_dir
|
||||
|
||||
Assign to the user variable $x, the name of a temporary file. The file will have been created, so you can then overwrite it with what you please. The name of the temporary file is guaranteed to be unique. If to want the temporary file to be created in another directory than the Windows temp directory, specify a base_dir. Delete the file when done with it.
|
||||
Assign to the user variable $x, the name of a temporary file. The file will have been created, so you can then overwrite it with what you please. The name of the temporary file is guaranteed to be unique. If to want the temporary file to be created in another directory than the Windows temp directory, specify a base_dir. \R{delete}{Delete} the file when done with it.
|
||||
|
||||
\c GetTempFileName $0
|
||||
\c File /oname=$0 something.dat
|
||||
|
@ -114,7 +114,7 @@ Assign to the user variable $x, the name of a temporary file. The file will have
|
|||
|
||||
\c user_var(output) filename
|
||||
|
||||
Assign to the user variable $x, the full path of the file named by the second parameter. The error flag will be set and $x will be empty if the file cannot be found. Uses SearchPath() to search the system paths for the file.
|
||||
Assign to the user variable $x, the full path of the file named by the second parameter. The error flag will be set and $x will be empty if the file cannot be found. Uses \R{searchpath}{SearchPath}() to search the system paths for the file.
|
||||
|
||||
\S2{setfileattributes} SetFileAttributes
|
||||
|
||||
|
|
|
@ -832,7 +832,7 @@ Released on May 5th, 2007
|
|||
|
||||
\b Disable the X button on InstallOptions pages when CancelEnabled is 0
|
||||
|
||||
\b Fixed incomplete MessageBox usage line (\W{http://sourceforge.net/support/tracker.php?aid=1709460}{bug #1709460})
|
||||
\b Fixed incomplete \R{messagebox}{MessageBox} usage line (\W{http://sourceforge.net/support/tracker.php?aid=1709460}{bug #1709460})
|
||||
|
||||
\S2{} Build System
|
||||
|
||||
|
@ -1098,7 +1098,7 @@ Released on November 27th, 2006
|
|||
|
||||
\b Fixed \L{../Include/WinVer.nsh}{WinVer.nsh}'s detection of Windows 98 and ME (reported on the \W{http://forums.winamp.com/showthread.php?s=&threadid=257994&highlight=winver.nsh}{forum})
|
||||
|
||||
\b Fixed WriteUninstaller failure to overwrite read-only uninstallers (\W{http://sourceforge.net/support/tracker.php?aid=1542530}{bug #1542530})
|
||||
\b Fixed \R{writeuninstaller}{WriteUninstaller} failure to overwrite read-only uninstallers (\W{http://sourceforge.net/support/tracker.php?aid=1542530}{bug #1542530})
|
||||
|
||||
\b Licensed lzma under \R{cpl-license}{CPL} with a \R{lzma-special-exception}{special exception}, instead of LGPL
|
||||
|
||||
|
@ -1296,7 +1296,7 @@ Released on May 19th, 2006
|
|||
|
||||
\b Fixed possible stack corruption when using TypeLib.dll on an invalid TLB
|
||||
|
||||
\b Fixed RMDir deletion failure of read-only folders (\W{http://sourceforge.net/support/tracker.php?aid=1481664}{bug #1481664})
|
||||
\b Fixed \R{rmdir}{RMDir} deletion failure of read-only folders (\W{http://sourceforge.net/support/tracker.php?aid=1481664}{bug #1481664})
|
||||
|
||||
\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: Fixed toolbar compressor selection menu, broken in the previous version (\W{http://sourceforge.net/support/tracker.php?aid=1466486}{bug #1466486})
|
||||
|
||||
|
@ -1478,7 +1478,7 @@ Released on January 24th, 2006
|
|||
|
||||
\S2{} Major Changes
|
||||
|
||||
\b Fixed a bug that corrupted $TEMP under Windows 9x and NT and caused InitPluginsDir to fail (\W{http://sourceforge.net/support/tracker.php?aid=1412159}{bug #1412159})
|
||||
\b Fixed a bug that corrupted $TEMP under Windows 9x and NT and caused \R{initpluginsdir}{InitPluginsDir} to fail (\W{http://sourceforge.net/support/tracker.php?aid=1412159}{bug #1412159})
|
||||
|
||||
\S2{} Minor Changes
|
||||
|
||||
|
@ -1939,7 +1939,7 @@ Released on March 19th, 2005
|
|||
|
||||
\b Fixed a bug in the Russian language file distributed with 2.05
|
||||
|
||||
\b Fixed a bug that caused SetFont to not function properly with RTL languages on Windows 9x (\W{http://sourceforge.net/support/tracker.php?aid=1159700}{bug #1159700})
|
||||
\b Fixed a bug that caused \R{asetfont}{SetFont} to not function properly with RTL languages on Windows 9x (\W{http://sourceforge.net/support/tracker.php?aid=1159700}{bug #1159700})
|
||||
|
||||
\b Fixed a bug, introduced in 2.05, that caused problems with \R{ainsttype}{InstType} /COMPONENTSONLYONCUSTOM (\W{http://sourceforge.net/support/tracker.php?aid=1155060}{bug #1155060})
|
||||
|
||||
|
@ -2059,7 +2059,7 @@ Released on December 3rd, 2004
|
|||
|
||||
\b Fixed handling of absolute paths on POSIX
|
||||
|
||||
\b Made RegDLL load and unload a DLL exactly once to fix crashes with COM DLLs registration
|
||||
\b Made \R{regdll}{RegDLL} load and unload a DLL exactly once to fix crashes with COM DLLs registration
|
||||
|
||||
\S2{} New/Changed Commands
|
||||
|
||||
|
@ -2125,7 +2125,7 @@ Released on October 23rd, 2004
|
|||
|
||||
\b Added Albanian language files
|
||||
|
||||
\b Added NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE configuration option which makes components only be toggled when the user clicks on the checkbox and makes .onMouseOverSection only be called when the user selects a component
|
||||
\b Added NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE configuration option which makes components only be toggled when the user clicks on the checkbox and makes \R{onmouseoversection}{.onMouseOverSection} only be called when the user selects a component
|
||||
|
||||
\b Added some CppUnit tests
|
||||
|
||||
|
@ -2229,7 +2229,7 @@ Released on September 24th, 2004
|
|||
|
||||
\b Fixed compilation of NSISdl under VS.NET
|
||||
|
||||
\b SetCtlColors /BRANDING wasn't working right, if just one of the background or text color were specified
|
||||
\b \R{setctlcolors}{SetCtlColors} /BRANDING wasn't working right, if just one of the background or text color were specified
|
||||
|
||||
\b Language file fixes and improvements
|
||||
|
||||
|
@ -2295,7 +2295,7 @@ Released on February 7th, 2004
|
|||
|
||||
\b New and improved utilities: \L{../Docs/makensisw/Readme.txt}{MakeNSISw}, NSIS Menu (NSIS.exe), NSIS Update (Bin\\NSIS Update.exe) and zip2exe (Bin\\zip2exe.exe)
|
||||
|
||||
\b New commands: \R{addplugindir}{!addplugindir}, \R{echo}{!echo}, \R{ifmacrodef}{!ifmacrodef}, \R{ifmacrondef}{!ifmacrondef}, \R{verbose}{!verbose}, \R{aaddbrandingimage}{AddBrandingImage}, \R{asetallowskipfiles}{AllowSkipFiles}, \R{achangeui}{ChangeUI}, \R{acheckbitmap}{CheckBitmap}, \R{createfont}{CreateFont}, \R{adirvar}{DirVar}, \R{adirverify}{DirVerify}, \R{enablewindow}{EnableWindow}, \R{afilebufsize}{FileBufSize}, \R{flushini}{FlushINI}, \R{sgetcurinsttype}{GetCurInstType}, \R{getdlgitem}{GetDlgItem}, \R{getinstdirerror}{GetInstDirError}, \R{ifabort}{IfAbort}, \R{ifsilent}{IfSilent}, \R{initpluginsdir}{InitPluginsDir}, \R{sinsttypegettext}{InstTypeGetText}, \R{sinsttypesettext}{InstTypeSetText}, \R{langstring}{LangString}, \R{alicensebkcolor}{LicenseBkColor}, \R{alicenseforceselection}{LicenseForceSelection}, \R{licenselangstring}{LicenseLangString}, \R{loadlanguagefile}{LoadLanguageFile}, LockWindow, \R{page}{Page}, \R{pageex}{PageEx}, \R{reservefile}{ReserveFile}, \R{sectiongetinsttypes}{SectionGetInstTypes}, \R{ssectiongetsize}{SectionGetSize}, \R{sectionsetinsttypes}{SectionSetInstTypes}, \R{ssectionsetsize}{SectionSetSize}, \R{setbrandingimage}{SetBrandingImage}, SetCompressionLevel, \R{asetcompressor}{SetCompressor}, \R{asetcompressordictsize}{SetCompressorDictSize}, \R{setctlcolors}{SetCtlColors}, \R{ssetcurinsttype}{SetCurInstType}, SetPluginUnload, \R{setsilent}{SetSilent}, \R{showwindow}{ShowWindow}, SubSection (replaced by \R{ssectiongroup}{SectionGroup}), SubSectionEnd (replaced by \R{ssectiongroupend}{SectionGroupEnd}), \R{var}{Var}, \R{viaddversionkey}{VIAddVersionKey}, \R{viproductversion}{VIProductVersion} and \R{axpstyle}{XPStyle}
|
||||
\b New commands: \R{addplugindir}{!addplugindir}, \R{echo}{!echo}, \R{ifmacrodef}{!ifmacrodef}, \R{ifmacrondef}{!ifmacrondef}, \R{verbose}{!verbose}, \R{aaddbrandingimage}{AddBrandingImage}, \R{asetallowskipfiles}{AllowSkipFiles}, \R{achangeui}{ChangeUI}, \R{acheckbitmap}{CheckBitmap}, \R{createfont}{CreateFont}, \R{adirvar}{DirVar}, \R{adirverify}{DirVerify}, \R{enablewindow}{EnableWindow}, \R{afilebufsize}{FileBufSize}, \R{flushini}{FlushINI}, \R{sgetcurinsttype}{GetCurInstType}, \R{getdlgitem}{GetDlgItem}, \R{getinstdirerror}{GetInstDirError}, \R{ifabort}{IfAbort}, \R{ifsilent}{IfSilent}, \R{initpluginsdir}{InitPluginsDir}, \R{sinsttypegettext}{InstTypeGetText}, \R{sinsttypesettext}{InstTypeSetText}, \R{langstring}{LangString}, \R{alicensebkcolor}{LicenseBkColor}, \R{alicenseforceselection}{LicenseForceSelection}, \R{licenselangstring}{LicenseLangString}, \R{loadlanguagefile}{LoadLanguageFile}, \R{lockwindow}{LockWindow}, \R{page}{Page}, \R{pageex}{PageEx}, \R{reservefile}{ReserveFile}, \R{sectiongetinsttypes}{SectionGetInstTypes}, \R{ssectiongetsize}{SectionGetSize}, \R{sectionsetinsttypes}{SectionSetInstTypes}, \R{ssectionsetsize}{SectionSetSize}, \R{setbrandingimage}{SetBrandingImage}, SetCompressionLevel, \R{asetcompressor}{SetCompressor}, \R{asetcompressordictsize}{SetCompressorDictSize}, \R{setctlcolors}{SetCtlColors}, \R{ssetcurinsttype}{SetCurInstType}, SetPluginUnload, \R{setsilent}{SetSilent}, \R{showwindow}{ShowWindow}, SubSection (replaced by \R{ssectiongroup}{SectionGroup}), SubSectionEnd (replaced by \R{ssectiongroupend}{SectionGroupEnd}), \R{var}{Var}, \R{viaddversionkey}{VIAddVersionKey}, \R{viproductversion}{VIProductVersion} and \R{axpstyle}{XPStyle}
|
||||
|
||||
\b Removed commands: DirShow, DisabledBitmap, EnabledBitmap and SectionDivider
|
||||
|
||||
|
@ -2389,7 +2389,7 @@ Released on January 5th, 2004
|
|||
|
||||
\b LangStrings and user variables limit is now 16383 and is enforced
|
||||
|
||||
\b Fixed control colors set using SetCtlColors not changing when the system colors were changed
|
||||
\b Fixed control colors set using \R{setctlcolors}{SetCtlColors} not changing when the system colors were changed
|
||||
|
||||
\b Log window now responds to the context menu key
|
||||
|
||||
|
@ -2597,37 +2597,37 @@ Released on March 16th, 2003
|
|||
|
||||
\b New tutorial in the documentation
|
||||
|
||||
\b define_if_last in Page command also works when a define has not been specified for all Page commands.\\<br\\>This fixes the problem with the Modern UI "Click Next" / "Click Install" texts.
|
||||
\b define_if_last in \R{page}{Page} command also works when a define has not been specified for all \R{page}{Page} commands.\\<br\\>This fixes the problem with the Modern UI "Click Next" / "Click Install" texts.
|
||||
|
||||
\b Added SectionSetInstTypes and SectionGetInstTypes
|
||||
\b Added \R{sectionsetinsttypes}{SectionSetInstTypes} and \R{sectiongetinsttypes}{SectionGetInstTypes}
|
||||
|
||||
\b Reboot command does not force a reboot anymore (allows the user to save work)
|
||||
\b \R{reboot}{Reboot} command does not force a reboot anymore (allows the user to save work)
|
||||
|
||||
\b !if[n]def/!else fixes
|
||||
|
||||
\b LogSet on now really starts logging
|
||||
\b \R{logset}{LogSet} on now really starts logging
|
||||
|
||||
\b Cancel button available on all pages after the instfiles page but the last page unless /ENABLECANCEL was used in its Page command
|
||||
\b Cancel button available on all pages after the instfiles page but the last page unless /ENABLECANCEL was used in its \R{page}{Page} command
|
||||
|
||||
\b License page: No more limit on RTF size
|
||||
|
||||
\b LangDLL: Option to auto-count number of languages, shell font support
|
||||
|
||||
\b Page and UninstPage can not be used inside sections/functions
|
||||
\b \R{page}{Page} and \R{uninstpage}{UninstPage} can not be used inside sections/functions
|
||||
|
||||
\b CreateDirectory now uses the error flag
|
||||
\b \R{createdirectory}{CreateDirectory} now uses the error flag
|
||||
|
||||
\b EnumRegKey/Value output_var check fixed
|
||||
\b \R{enumregkey}{EnumRegKey}/Value output_var check fixed
|
||||
|
||||
\b Updated translations
|
||||
|
||||
\b Dreaded BSOD after plug-ins enumeration finally banished
|
||||
|
||||
\b Minimize button and BGGradient and BGImage compatibility fixes
|
||||
\b Minimize button and \R{abggradient}{BGGradient} and BGImage compatibility fixes
|
||||
|
||||
\b WriteINIStr with empty value works again
|
||||
\b \R{writeinistr}{WriteINIStr} with empty value works again
|
||||
|
||||
\b Added FlushINI
|
||||
\b Added \R{flushini}{FlushINI}
|
||||
|
||||
\H{v2.0b2} 2.0 Beta 2
|
||||
|
||||
|
@ -2643,7 +2643,7 @@ Released on February 26th, 2003
|
|||
|
||||
\b VC7 compiler compatibility issues fixed
|
||||
|
||||
\b CreateDirectory sets error flag
|
||||
\b \R{createdirectory}{CreateDirectory} sets error flag
|
||||
|
||||
\b InstallOptions: INI File State value fixed
|
||||
|
||||
|
@ -2655,9 +2655,9 @@ Released on February 26th, 2003
|
|||
|
||||
Released on February 9th, 2003
|
||||
|
||||
\b User interface improvements: better order/grouping of controls, button selection problems fixed, added minimize box, transparent BrandingText
|
||||
\b User interface improvements: better order/grouping of controls, button selection problems fixed, added minimize box, transparent \R{abrandingtext}{BrandingText}
|
||||
|
||||
\b LangString improvements: can be used before they have been defined, warning if not present in all language tables
|
||||
\b \R{langstring}{LangString} improvements: can be used before they have been defined, warning if not present in all language tables
|
||||
|
||||
\b New version of the Modern User Interface with UI improvements, bugfixes and some small new features
|
||||
|
||||
|
@ -2665,11 +2665,11 @@ Released on February 9th, 2003
|
|||
|
||||
\b No more random compression ratios
|
||||
|
||||
\b SetOutPath now sets the working directory
|
||||
\b \R{setoutpath}{SetOutPath} now sets the working directory
|
||||
|
||||
\b File names are validated, directory given by the user will now always work
|
||||
|
||||
\b $QUICKLAUNCH now works with SetShellVarContext all
|
||||
\b $QUICKLAUNCH now works with \R{setshellvarcontext}{SetShellVarContext} all
|
||||
|
||||
\b Automatically appended directory name in the directory selection dialog will no longer contain squares if not all characters are ASCII.
|
||||
|
||||
|
@ -2677,7 +2677,7 @@ Released on February 9th, 2003
|
|||
|
||||
\b Plug-in function's names are now case insensitive
|
||||
|
||||
\b Fixed a bug with specifying Icon twice
|
||||
\b Fixed a bug with specifying \R{aicon}{Icon} twice
|
||||
|
||||
\b Include dirs (!addincludedir)
|
||||
|
||||
|
@ -2691,11 +2691,11 @@ Released on February 9th, 2003
|
|||
|
||||
\b Win9x rename on reboot now also works when the destination file does not exist
|
||||
|
||||
\b DeleteRegKey works on default value
|
||||
\b \R{deleteregkey}{DeleteRegKey} works on default value
|
||||
|
||||
\b nsExec can be called from an installer executed by CreateProcess
|
||||
|
||||
\b WriteUninstaller sets error code
|
||||
\b \R{writeuninstaller}{WriteUninstaller} sets error code
|
||||
|
||||
\b Banner.dll compatible with Modern UI
|
||||
|
||||
|
@ -2719,7 +2719,7 @@ Released on December 6th, 2002
|
|||
|
||||
\b New paging system
|
||||
|
||||
\b Added Page and UninstPage
|
||||
\b Added \R{page}{Page} and \R{uninstpage}{UninstPage}
|
||||
|
||||
\b Removed .onNextPage, .onPrevPage, .onInitDialog
|
||||
|
||||
|
@ -2729,7 +2729,7 @@ Released on December 6th, 2002
|
|||
|
||||
\b Added accelerator keys
|
||||
|
||||
\b Added LangString and LangStringUP for user defined multilingual strings
|
||||
\b Added \R{langstring}{LangString} and LangStringUP for user defined multilingual strings
|
||||
|
||||
\b Added support for transparent check marks
|
||||
|
||||
|
@ -2745,7 +2745,7 @@ Released on December 6th, 2002
|
|||
|
||||
\b !ifdef and friends can now be used in macros
|
||||
|
||||
\b SendMessage can send strings (put STR: before a param) and supports timeouts
|
||||
\b \R{sendmessage}{SendMessage} can send strings (put STR: before a param) and supports timeouts
|
||||
|
||||
\b Right mouse button "Copy to clipboard" context menu for the Details window
|
||||
|
||||
|
@ -2757,9 +2757,9 @@ Released on December 6th, 2002
|
|||
|
||||
\b Now always loads RichEdit v2 if present (links work on Win9x)
|
||||
|
||||
\b DeleteRegKey now complains if given a third parameter (other than /ifempty)
|
||||
\b \R{deleteregkey}{DeleteRegKey} now complains if given a third parameter (other than /ifempty)
|
||||
|
||||
\b RegDLL now works with DLLs dependent on DLLs from the same directory
|
||||
\b \R{regdll}{RegDLL} now works with DLLs dependent on DLLs from the same directory
|
||||
|
||||
\b $\{LANG_langName\} defined as the language id when loading a NLF
|
||||
|
||||
|
@ -2785,17 +2785,17 @@ Released on December 6th, 2002
|
|||
|
||||
\b Changed section flags values
|
||||
|
||||
\b SectionSetFlags can now set bold too
|
||||
\b \R{sectionsetflags}{SectionSetFlags} can now set bold too
|
||||
|
||||
\b SectionSetFlags now works in silent installers too
|
||||
\b \R{sectionsetflags}{SectionSetFlags} now works in silent installers too
|
||||
|
||||
\b SectionSetName for sub sections doesn't need '-' in front of the name
|
||||
|
||||
\b Added SetPluginUnload
|
||||
|
||||
\b Hidden section can now use SectionIn too
|
||||
\b Hidden section can now use \R{ssectionin}{SectionIn} too
|
||||
|
||||
\b File /nonfatal switch added
|
||||
\b \R{file}{File} /nonfatal switch added
|
||||
|
||||
\b Plugins no longer add size to their containing section
|
||||
|
||||
|
@ -2815,7 +2815,7 @@ Released on August 29th, 2002
|
|||
|
||||
\b Added CreateFont
|
||||
|
||||
\b Added .onMouseOverSection
|
||||
\b Added \R{onmouseoversection}{.onMouseOverSection}
|
||||
|
||||
\b Added .onInitDialog and un.onInitDialog
|
||||
|
||||
|
@ -2825,11 +2825,11 @@ Released on August 29th, 2002
|
|||
|
||||
\b SendMessage WM_SETTEXT treats lParam as a string and not a number
|
||||
|
||||
\b CopyFiles script message no longer always prints (silent)
|
||||
\b \R{copyfiles}{CopyFiles} script message no longer always prints (silent)
|
||||
|
||||
\b Custom install type text can now be changed
|
||||
|
||||
\b ChangeUI can now change IDD_VERIFY
|
||||
\b \R{achangeui}{ChangeUI} can now change IDD_VERIFY
|
||||
|
||||
\b Default license color now fits the user system
|
||||
|
||||
|
@ -2871,7 +2871,7 @@ Released on August 29th, 2002
|
|||
|
||||
\b Added LangDLL.dll plugin
|
||||
|
||||
\b CallInstDLL /NOUNLOAD added (works on plugin calls too)
|
||||
\b \R{callinstdll}{CallInstDLL} /NOUNLOAD added (works on plugin calls too)
|
||||
|
||||
\H{v2.0a6} 2.0 Alpha 6
|
||||
|
||||
|
@ -2887,7 +2887,7 @@ Released on August 9th, 2002
|
|||
|
||||
\b Added UseOuterUIItem
|
||||
|
||||
\b Enhanced ChangeUI
|
||||
\b Enhanced \R{achangeui}{ChangeUI}
|
||||
|
||||
\b Enhanced SetDlgItemText
|
||||
|
||||
|
@ -2919,11 +2919,11 @@ Released on August 5th, 2002
|
|||
|
||||
Released on August 4th, 2002
|
||||
|
||||
\b Added LoadLanguageFile
|
||||
\b Added \R{loadlanguagefile}{LoadLanguageFile}
|
||||
|
||||
\b Added $LANGUAGE
|
||||
|
||||
\b Added /LANG option to string setters (Name, Caption, etc.)
|
||||
\b Added /LANG option to string setters (\R{aname}{Name}, \R{acaption}{Caption}, etc.)
|
||||
|
||||
\b 'LogSet on' now builds a log file if not already created
|
||||
|
||||
|
@ -2933,31 +2933,31 @@ Released on July 31st, 2002
|
|||
|
||||
\b Added $\{NSISDIR\}
|
||||
|
||||
\b Added XPStyle
|
||||
\b Added \R{axpstyle}{XPStyle}
|
||||
|
||||
\b Added SetFont
|
||||
\b Added \R{asetfont}{SetFont}
|
||||
|
||||
\b Added ChangeUI
|
||||
\b Added \R{achangeui}{ChangeUI}
|
||||
|
||||
\b Added AddBrandingImage, and SetBrandingImage
|
||||
\b Added AddBrandingImage, and \R{setbrandingimage}{SetBrandingImage}
|
||||
|
||||
\b Added SetCompressor (no more makensis-bz2.exe)
|
||||
\b Added \R{asetcompressor}{SetCompressor} (no more makensis-bz2.exe)
|
||||
|
||||
\b Added LicenseBkColor
|
||||
\b Added \R{alicensebkcolor}{LicenseBkColor}
|
||||
|
||||
\b 'SpaceTexts none' now causes no space texts to appear
|
||||
|
||||
\b Icon and UninstallIcon now support icons of any type
|
||||
\b \R{aicon}{Icon} and \R{auninstallicon}{UninstallIcon} now support icons of any type
|
||||
|
||||
\b CheckBitmap now support bitmaps with any color table/depth
|
||||
\b \R{acheckbitmap}{CheckBitmap} now support bitmaps with any color table/depth
|
||||
|
||||
\b Unused resources are removed before writing out the installer
|
||||
|
||||
\b Documented !error and !warning
|
||||
\b Documented \R{error}{!error} and \R{warning}{!warning}
|
||||
|
||||
\b Added !echo and !verbose
|
||||
\b Added \R{echo}{!echo} and \R{verbose}{!verbose}
|
||||
|
||||
\b Added force option for CRCCheck
|
||||
\b Added force option for \R{acrccheck}{CRCCheck}
|
||||
|
||||
\b Updated to Makensisw 1.6
|
||||
|
||||
|
@ -2971,7 +2971,7 @@ Released on July 31st, 2002
|
|||
|
||||
\b License data can now be RTF
|
||||
|
||||
\b WindowIcon is now handled in the compiler
|
||||
\b \R{awindowicon}{WindowIcon} is now handled in the compiler
|
||||
|
||||
\b Removed debug version (it never worked anyway)
|
||||
|
||||
|
@ -2981,9 +2981,9 @@ Released on July 31st, 2002
|
|||
|
||||
Released on July 9th, 2002
|
||||
|
||||
\b Added expand node option to Section and SubSection
|
||||
\b Added expand node option to \R{ssection}{Section} and SubSection
|
||||
|
||||
\b Added preserve file attribute option to File command
|
||||
\b Added preserve file attribute option to \R{file}{File} command
|
||||
|
||||
\b Copy-All bug fix in Makensisw
|
||||
|
||||
|
@ -2999,11 +2999,11 @@ Released on May 22nd, 2002
|
|||
|
||||
\b No more SectionDivider, but SubSection and SubSectionEnd.
|
||||
|
||||
\b No more EnabledBitmap/DisabledBitmap, just CheckBitmap. (with tons of button states)
|
||||
\b No more EnabledBitmap/DisabledBitmap, just \R{acheckbitmap}{CheckBitmap}. (with tons of button states)
|
||||
|
||||
\b Bugfixes of brokenness.
|
||||
|
||||
\b Added ! for Section/SubSection to make bold.
|
||||
\b Added ! for \R{ssection}{Section}/SubSection to make bold.
|
||||
|
||||
\b Made config.h have hacks for easier building for me. :)
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
\S0{labels} Labels
|
||||
|
||||
Labels are the targets of Goto instructions, or of the various branching instructions (such as \R{iferrors}{IfErrors}, \R{messagebox}{MessageBox}, \R{iffileexists}{IfFileExists}, and \R{strcmp}{StrCmp}). Labels must be within a Section or a Function. Labels are local in scope, meaning they are only accessible from within the Section or Function that they reside in.
|
||||
Labels are the targets of \R{goto}{Goto} instructions, or of the various branching instructions (such as \R{iferrors}{IfErrors}, \R{messagebox}{MessageBox}, \R{iffileexists}{IfFileExists}, and \R{strcmp}{StrCmp}). Labels must be within a \R{ssection}{Section} or a \R{ffunction}{Function}. Labels are local in scope, meaning they are only accessible from within the \R{ssection}{Section} or \R{ffunction}{Function} that they reside in.
|
||||
To declare a label, simply use:
|
||||
|
||||
\e{MyLabel:}
|
||||
|
||||
Labels cannot begin with a -, +, !, $, or 0-9. When specifying labels for the various instructions that require them, remember that both an empty string ("") and 0 both represent the next instruction (meaning no Goto will occur). Labels beginning with a period (.) are global, meaning you can jump to them from any function or section (though you cannot jump to an uninstall global label from the installer, and vice versa).
|
||||
Labels cannot begin with a -, +, !, $, or 0-9. When specifying labels for the various instructions that require them, remember that both an empty string ("") and 0 both represent the next instruction (meaning no \R{goto}{Goto} will occur). Labels beginning with a period (.) are global, meaning you can jump to them from any function or section (though you cannot jump to an uninstall global label from the installer, and vice versa).
|
|
@ -14,7 +14,7 @@ After you have inserted the language file $\{LANG_langfile\} will be defined as
|
|||
|
||||
Defines a multilingual string. This means its value may be different (or not, it's up to you) for every language. It allows you to easily make your installer multilingual without the need to add massive switches to the script.
|
||||
|
||||
Each language string has a name that identifies it and a value for each language used by the installer. They can be used in any runtime string in the script. To use a language string all you need to add to the string is $(LangString_name_here) where you want the LangString to be inserted.
|
||||
Each language string has a name that identifies it and a value for each language used by the installer. They can be used in any runtime string in the script. To use a language string all you need to add to the string is $(LangString_name_here) where you want the \R{langstring}{LangString} to be inserted.
|
||||
|
||||
\\<b\\>Notes:\\</b\\>
|
||||
|
||||
|
@ -24,7 +24,7 @@ Each language string has a name that identifies it and a value for each language
|
|||
|
||||
\b Always set language strings for every language in your script.
|
||||
|
||||
\b If you set the language ID to 0 the last used language by LangString or \R{loadlanguagefile}{LoadLanguageFile} will be used.
|
||||
\b If you set the language ID to 0 the last used language by \R{langstring}{LangString} or \R{loadlanguagefile}{LoadLanguageFile} will be used.
|
||||
|
||||
\\<b\\>Example of usage:\\</b\\>
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ Deletes a registry key. If /ifempty is specified, the registry key will only be
|
|||
|
||||
\c root_key subkey key_name
|
||||
|
||||
Deletes a registry value. Valid values for root_key are listed under WriteRegStr. The error flag is set if the value could not be removed from the registry (or if it didn't exist to begin with).
|
||||
Deletes a registry value. Valid values for root_key are listed under \R{writeregstr}{WriteRegStr}. The error flag is set if the value could not be removed from the registry (or if it didn't exist to begin with).
|
||||
|
||||
\c DeleteRegValue HKLM "Software\My Company\My Software" "some value"
|
||||
|
||||
|
@ -46,7 +46,7 @@ Deletes a registry value. Valid values for root_key are listed under WriteRegStr
|
|||
|
||||
\c user_var(output) root_key subkey index
|
||||
|
||||
Set user variable $x with the name of the 'index'th registry key in root_key\\Subkey. Valid values for root_key are listed under WriteRegStr. Returns an empty string if there are no more keys, and returns an empty string and sets the error flag if there is an error.
|
||||
Set user variable $x with the name of the 'index'th registry key in root_key\\Subkey. Valid values for root_key are listed under \R{writeregstr}{WriteRegStr}. Returns an empty string if there are no more keys, and returns an empty string and sets the error flag if there is an error.
|
||||
|
||||
\c StrCpy $0 0
|
||||
\c loop:
|
||||
|
@ -60,7 +60,7 @@ Set user variable $x with the name of the 'index'th registry key in root_key\\Su
|
|||
|
||||
\c user_var(output) root_key subkey index
|
||||
|
||||
Set user variable $x with the name of the 'index'th registry value in root_key\\Subkey. Valid values for root_key are listed under WriteRegStr. Returns an empty string and sets the error flag if there are no more values or if there is an error.
|
||||
Set user variable $x with the name of the 'index'th registry value in root_key\\Subkey. Valid values for root_key are listed under \R{writeregstr}{WriteRegStr}. Returns an empty string and sets the error flag if there are no more values or if there is an error.
|
||||
|
||||
\c StrCpy $0 0
|
||||
\c loop:
|
||||
|
@ -111,7 +111,7 @@ Reads from entry_name in [section_name] of ini_filename and stores the value int
|
|||
|
||||
\c user_var(output) root_key sub_key name
|
||||
|
||||
Reads a 32 bit DWORD from the registry into the user variable $x. Valid values for root_key are listed under WriteRegStr. The error flag will be set and $x will be set to an empty string ("" which is 0) if the DWORD is not present. If the value is present, but is not a DWORD, it will be read as a string and the error flag will be set.
|
||||
Reads a 32 bit DWORD from the registry into the user variable $x. Valid values for root_key are listed under \R{writeregstr}{WriteRegStr}. The error flag will be set and $x will be set to an empty string ("" which is 0) if the DWORD is not present. If the value is present, but is not a DWORD, it will be read as a string and the error flag will be set.
|
||||
|
||||
\c ReadRegDWORD $0 HKLM Software\NSIS VersionBuild
|
||||
|
||||
|
@ -119,7 +119,7 @@ Reads a 32 bit DWORD from the registry into the user variable $x. Valid values f
|
|||
|
||||
\c user_var(output) root_key sub_key name
|
||||
|
||||
Reads from the registry into the user variable $x. Valid values for root_key are listed under WriteRegStr. The error flag will be set and $x will be set to an empty string ("") if the string is not present. If the value is present, but is of type REG_DWORD, it will be read and converted to a string and the error flag will be set.
|
||||
Reads from the registry into the user variable $x. Valid values for root_key are listed under \R{writeregstr}{WriteRegStr}. The error flag will be set and $x will be set to an empty string ("") if the string is not present. If the value is present, but is of type REG_DWORD, it will be read and converted to a string and the error flag will be set.
|
||||
|
||||
\c ReadRegStr $0 HKLM Software\NSIS ""
|
||||
\c DetailPrint "NSIS is installed at: $0"
|
||||
|
@ -138,7 +138,7 @@ Writes entry_name=value into [section_name] of ini_filename. The error flag is s
|
|||
|
||||
\c root_key subkey key_name valuedata
|
||||
|
||||
This command writes a block of binary data to the registry. Valid values for root_key are listed under WriteRegStr. Valuedata is in hexadecimal (e.g. DEADBEEF01223211151). The error flag is set if the binary data could not be written to the registry. If the registry key doesn't exist it will be created.
|
||||
This command writes a block of binary data to the registry. Valid values for root_key are listed under \R{writeregstr}{WriteRegStr}. Valuedata is in hexadecimal (e.g. DEADBEEF01223211151). The error flag is set if the binary data could not be written to the registry. If the registry key doesn't exist it will be created.
|
||||
|
||||
\c WriteRegBin HKLM "Software\My Company\My Software" "Binary Value" DEADBEEF01223211151
|
||||
|
||||
|
@ -146,7 +146,7 @@ This command writes a block of binary data to the registry. Valid values for roo
|
|||
|
||||
\c root_key subkey key_name value
|
||||
|
||||
This command writes a dword (32 bit integer) to the registry (a user variable can be specified). Valid values for root_key are listed under WriteRegStr. The error flag is set if the dword could not be written to the registry. If the registry key doesn't exist it will be created.
|
||||
This command writes a dword (32 bit integer) to the registry (a user variable can be specified). Valid values for root_key are listed under \R{writeregstr}{WriteRegStr}. The error flag is set if the dword could not be written to the registry. If the registry key doesn't exist it will be created.
|
||||
|
||||
\c WriteRegDWORD HKLM "Software\My Company\My Software" "DWORD Value" 0xDEADBEEF
|
||||
|
||||
|
@ -182,6 +182,6 @@ Write a string to the registry. \e{root_key} must be one of:
|
|||
|
||||
If \e{root_key} is \e{SHCTX} or \e{SHELL_CONTEXT}, it will be replaced with \e{HKLM} if \R{setshellvarcontext}{SetShellVarContext} is set to \e{all} and with \e{HKCU} if \R{setshellvarcontext}{SetShellVarContext} is set to \e{current}.
|
||||
|
||||
The error flag is set if the string could not be written to the registry. The type of the string will be REG_SZ for WriteRegStr, or REG_EXPAND_STR for WriteRegExpandStr. If the registry key doesn't exist it will be created.
|
||||
The error flag is set if the string could not be written to the registry. The type of the string will be REG_SZ for \R{writeregstr}{WriteRegStr}, or REG_EXPAND_STR for \R{writeregexpandstr}{WriteRegExpandStr}. If the registry key doesn't exist it will be created.
|
||||
|
||||
\c WriteRegExpandStr HKLM "Software\My Company\My Software" "Expand String Value" "%WINDIR%\notepad.exe"
|
||||
|
|
|
@ -97,7 +97,7 @@ because the binary value for 5 is "00000101". The error flag will be set if the
|
|||
|
||||
\c section_index user_var(output)
|
||||
|
||||
Retrieves the install types flags array of a section. See above explanation about SectionSetInstTypes for a description of how to deal with the output. The error flag will be set if the section index specified is out of range.
|
||||
Retrieves the install types flags array of a section. See above explanation about \R{sectionsetinsttypes}{SectionSetInstTypes} for a description of how to deal with the output. The error flag will be set if the section index specified is out of range.
|
||||
|
||||
\c Section test test_section_id
|
||||
\c SectionEnd
|
||||
|
@ -143,19 +143,19 @@ Gets the Size of the section specified by section_index and stores the value in
|
|||
|
||||
\c inst_type_idx
|
||||
|
||||
Sets the current InstType. inst_type_idx should be between 0 and 31. The Error Flag is \\<b\\>not\\</b\\> set if an out of range InstType was used.
|
||||
Sets the current \R{ainsttype}{InstType}. inst_type_idx should be between 0 and 31. The Error Flag is \\<b\\>not\\</b\\> set if an out of range \R{ainsttype}{InstType} was used.
|
||||
|
||||
\S2{sgetcurinsttype} GetCurInstType
|
||||
|
||||
\c user_var
|
||||
|
||||
Get the current InstType and stores it in user_var. If the first install type is selected, 0 will be put in user_var. If the second install type is selected, 1 will be put in user_var, and so on. The value of $\{NSIS_MAX_INST_TYPES\} (32 by default) means that the custom install type was selected.
|
||||
Get the current \R{ainsttype}{InstType} and stores it in user_var. If the first install type is selected, 0 will be put in user_var. If the second install type is selected, 1 will be put in user_var, and so on. The value of $\{NSIS_MAX_INST_TYPES\} (32 by default) means that the custom install type was selected.
|
||||
|
||||
\S2{sinsttypesettext} InstTypeSetText
|
||||
|
||||
\c inst_type_idx text
|
||||
|
||||
Sets the Text of the specified InstType. If the Text is empty than the InstType is removed. By using a previously unused inst_type_idx number you can create new InstTypes. To add/remove Sections to this new InstType see \R{sectionsetinsttypes}{SectionSetInstTypes}. Unlike \R{ssectionin}{SectionIn} the index is zero based, which means the first install type's index is 0.
|
||||
Sets the Text of the specified \R{ainsttype}{InstType}. If the Text is empty than the \R{ainsttype}{InstType} is removed. By using a previously unused inst_type_idx number you can create new InstTypes. To add/remove Sections to this new \R{ainsttype}{InstType} see \R{sectionsetinsttypes}{SectionSetInstTypes}. Unlike \R{ssectionin}{SectionIn} the index is zero based, which means the first install type's index is 0.
|
||||
|
||||
\c InstType a
|
||||
\c InstType b
|
||||
|
@ -171,7 +171,7 @@ Sets the Text of the specified InstType. If the Text is empty than the InstType
|
|||
|
||||
\c inst_type_idx user_var
|
||||
|
||||
Gets the Text of the specified InstType.
|
||||
Gets the Text of the specified \R{ainsttype}{InstType}.
|
||||
|
||||
\c InstType a
|
||||
\c InstType b
|
||||
|
|
|
@ -4,7 +4,7 @@ Each NSIS installer contains one or more sections. Each of these sections are cr
|
|||
|
||||
\b Each section contains zero or more instructions.
|
||||
|
||||
\b Sections are executed in order by the resulting installer, and if ComponentText is set, the user will have the option of disabling/enabling each visible section.
|
||||
\b Sections are executed in order by the resulting installer, and if \R{acomponenttext}{ComponentText} is set, the user will have the option of disabling/enabling each visible section.
|
||||
|
||||
\b If a section's name is 'Uninstall' or is prefixed with 'un.', it's an uninstaller section.
|
||||
|
||||
|
@ -75,7 +75,7 @@ This command closes the current open section.
|
|||
|
||||
\c insttype_index [insttype_index] [RO]
|
||||
|
||||
This command specifies which install types (see \R{ainsttype}{InstType}) the current section defaults to the enabled state in. Multiple SectionIn commands can be specified (they are combined). If you specify RO as a parameter, then the section will be read-only, meaning the user won't be able to change its state. The first install type defined using \R{ainsttype}{InstType} is indexed 1, the next 2 and so on.
|
||||
This command specifies which install types (see \R{ainsttype}{InstType}) the current section defaults to the enabled state in. Multiple \R{ssectionin}{SectionIn} commands can be specified (they are combined). If you specify RO as a parameter, then the section will be read-only, meaning the user won't be able to change its state. The first install type defined using \R{ainsttype}{InstType} is indexed 1, the next 2 and so on.
|
||||
|
||||
\c InstType "full"
|
||||
\c InstType "minimal"
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
\c [user_var | stack_index]
|
||||
|
||||
When no parameter is specified, exchanges the top two elements of the stack. When a parameter is specified and is a user variable, exchanges the top element of the stack with the parameter. When a parameter is specified and is a positive integer, Exch will swap the item on the top of the stack with the item that is specified by the offset from the top of the stack in the parameter. If there are not enough items on the stack to accomplish the exchange, a fatal error will occur (to help you debug your code :).
|
||||
When no parameter is specified, exchanges the top two elements of the stack. When a parameter is specified and is a user variable, exchanges the top element of the stack with the parameter. When a parameter is specified and is a positive integer, \R{Exch}{Exch} will swap the item on the top of the stack with the item that is specified by the offset from the top of the stack in the parameter. If there are not enough items on the stack to accomplish the exchange, a fatal error will occur (to help you debug your code :).
|
||||
|
||||
\c Push 1
|
||||
\c Push 2
|
||||
|
|
|
@ -80,7 +80,7 @@ For more information about sections see \R{sections}{Sections}.
|
|||
|
||||
Functions can contain script code, just like sections. The difference between sections and functions is the way they are called. There are two types of functions, user functions and callback functions.
|
||||
|
||||
User functions are called by the user from within sections or other functions using the \R{call}{Call} instruction. User functions will not execute unless you call them. After the code of the function will be executed the installer will continue executing the instructions that came after the Call instruction, unless you have aborted the installation inside the function. User functions are very useful if you have a set of instructions that need to be executed at several locations in the installers. If you put the code into a function you can save the copying time and you can maintain the code more easily.
|
||||
User functions are called by the user from within sections or other functions using the \R{call}{Call} instruction. User functions will not execute unless you call them. After the code of the function will be executed the installer will continue executing the instructions that came after the \R{call}{Call} instruction, unless you have aborted the installation inside the function. User functions are very useful if you have a set of instructions that need to be executed at several locations in the installers. If you put the code into a function you can save the copying time and you can maintain the code more easily.
|
||||
|
||||
Callback functions are called by the installer upon certain defined events such as when the installer starts. Callbacks are optional. If for example you want to welcome the user to your installer you will define a function called .onInit. The NSIS compiler will recognize this function as a callback function by the name and will call it when the installer starts.
|
||||
|
||||
|
@ -90,7 +90,7 @@ Callback functions are called by the installer upon certain defined events such
|
|||
\c gogogo:
|
||||
\c FunctionEnd
|
||||
|
||||
\R{abort}{Abort} has a special meaning in callback functions. Each callback function has its own meaning for it, have a look at \R{callbacks}{Callback Functions} for more information. In the above example Abort tells the installer to stop initializing the installer and quit immediately.
|
||||
\R{abort}{Abort} has a special meaning in callback functions. Each callback function has its own meaning for it, have a look at \R{callbacks}{Callback Functions} for more information. In the above example \R{abort}{Abort} tells the installer to stop initializing the installer and quit immediately.
|
||||
|
||||
For more information about functions see \R{functions}{Functions}.
|
||||
|
||||
|
@ -171,7 +171,7 @@ More examples can be found in \L{../Examples/LogicLib.nsi}{LogicLib.nsi}.
|
|||
|
||||
\S2{tutVariables} Variables
|
||||
|
||||
You can declare your own variables ($VARNAME) with the \R{var}{Var} command. Variables are global and can be used in any Section or Function.
|
||||
You can declare your own variables ($VARNAME) with the \R{var}{Var} command. Variables are global and can be used in any \R{ssection}{Section} or \R{ffunction}{Function}.
|
||||
|
||||
Declaring and using a user variable:
|
||||
|
||||
|
@ -183,7 +183,7 @@ Declaring and using a user variable:
|
|||
\c
|
||||
\c SectionEnd
|
||||
|
||||
In addition there is a Stack, which can also be used for temporary storage. To access the stack use the commands \R{Push}{Push} and \R{Pop}{Pop}. Push adds a value to the stack, Pop removes one and sets the variable.
|
||||
In addition there is a Stack, which can also be used for temporary storage. To access the stack use the commands \R{Push}{Push} and \R{Pop}{Pop}. \R{Push}{Push} adds a value to the stack, \R{Pop}{Pop} removes one and sets the variable.
|
||||
|
||||
For shared code, there are \R{varother}{20 registers available} (like $0 and $R0). These static variables don't have to be declared and you won't get any name conflicts. If you want to use these variables in shared code, store the original values on the stack and restore the original values afterwards.
|
||||
|
||||
|
@ -244,7 +244,7 @@ The second thing you need to do in order to create your installer after you have
|
|||
|
||||
To compile you have to right-click your .nsi file and select Compile NSIS Script. This will cause MakeNSISW, the NSIS Compiler Interface, to launch and call MakeNSIS to compile your script. MakeNSISW will get the output of MakeNSIS and present it to you in a window where you can see it, copy it, test the installer, browse for it and more. Using makensis.exe from the command prompt is also possible.
|
||||
|
||||
The compiler will check your script and give you warnings or an error. If an error occurs (i.e. 2 parameters required but only 1 given) the compiler will abort and a short error message including the line number will be displayed. For non-critical errors the compiler will give a warning (i.e. two DirText commands in one script). If your script has no errors the compiler will output an installer for you to distribute.
|
||||
The compiler will check your script and give you warnings or an error. If an error occurs (i.e. 2 parameters required but only 1 given) the compiler will abort and a short error message including the line number will be displayed. For non-critical errors the compiler will give a warning (i.e. two \R{adirtext}{DirText} commands in one script). If your script has no errors the compiler will output an installer for you to distribute.
|
||||
|
||||
NSIS supports different compression methods, as explained \R{asetcompressor}{here}. ZLIB is the default compression method, which is fast and uses only a little bit of memory. LZMA is a good method for the creation of small installers for internet distribution. BZIP2 usually compresses better than ZLIB but not as good as LZMA, it is useful if you need lower memory usage or fast script compilation.
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
\S2{BringToFront} BringToFront
|
||||
|
||||
Makes the installer window visible and brings it to the top of the window list. If an application was executed that shows itself in front of the installer, a BringToFront would bring the installer back in focus.
|
||||
Makes the installer window visible and brings it to the top of the window list. If an application was executed that shows itself in front of the installer, a \R{BringToFront}{BringToFront} would bring the installer back in focus.
|
||||
|
||||
Recent Windows versions restrict the setting of foreground windows. If the user is working with another application during installation, the user may be notified using a different method.
|
||||
|
||||
|
@ -42,7 +42,7 @@ Enables or disables mouse and keyboard input to the specified window or control.
|
|||
|
||||
\c user_var(hwnd output) windowclass [windowtitle] [windowparent] [childafter]
|
||||
|
||||
Searches for a window. Behaves like the win32 FindWindowEx(). Searches by windowclass (and/or windowtitle if specified). If windowparent or childafter are specified, the search will be restricted as such. If windowclass or windowtitle is specified as "", they will not be used for the search. If the window is not found, the user variable returned is 0. To accomplish old-style FindWindow behavior, use FindWindow with SendMessage.
|
||||
Searches for a window. Behaves like the win32 FindWindowEx(). Searches by windowclass (and/or windowtitle if specified). If windowparent or childafter are specified, the search will be restricted as such. If windowclass or windowtitle is specified as "", they will not be used for the search. If the window is not found, the user variable returned is 0. To accomplish old-style \R{findwindow}{FindWindow} behavior, use \R{findwindow}{FindWindow} with \R{sendmessage}{SendMessage}.
|
||||
|
||||
\c FindWindow $0 "#32770" "" $HWNDPARENT
|
||||
\c FindWindow $0 "my window class" "my window title"
|
||||
|
@ -81,7 +81,7 @@ If HWND is a window, Gotos jump_if_window, otherwise, Gotos jump_if_not_window (
|
|||
|
||||
\c HWND msg wparam lparam [user_var(return value)] [/TIMEOUT=time_in_ms]
|
||||
|
||||
Sends a message to HWND. If a user variable $x is specified as the last parameter (or one before the last if you use /TIMEOUT), the return value of SendMessage will be stored to it. Note that when specifying 'msg' you must just use the integer value of the message. If you wish to send strings use "STR:a string" as wParam or lParam where needed.
|
||||
Sends a message to HWND. If a user variable $x is specified as the last parameter (or one before the last if you use /TIMEOUT), the return value of \R{sendmessage}{SendMessage} will be stored to it. Note that when specifying 'msg' you must just use the integer value of the message. If you wish to send strings use "STR:a string" as wParam or lParam where needed.
|
||||
|
||||
\b \e{WM_CLOSE} 16
|
||||
|
||||
|
@ -109,7 +109,7 @@ Overrides the default auto window-closing flag (specified for the installer usin
|
|||
|
||||
\c [/IMGID=item_id_in_dialog] [/RESIZETOFIT] path_to_bitmap_file.bmp
|
||||
|
||||
Sets the current bitmap file displayed as the branding image. If no IMGID is specified, the first image control found will be used, or the image control created by \R{aaddbrandingimage}{AddBrandingImage}. Note that this bitmap must be present on the user's machine. Use File first to put it there. If /RESIZETOFIT is specified the image will be automatically resized (very poorly) to the image control size. If you used \R{aaddbrandingimage}{AddBrandingImage} you can get this size, by compiling your script and watching for \R{aaddbrandingimage}{AddBrandingImage} output, it will tell you the size. SetBrandingImage will not work when called from .onInit!
|
||||
Sets the current bitmap file displayed as the branding image. If no IMGID is specified, the first image control found will be used, or the image control created by \R{aaddbrandingimage}{AddBrandingImage}. Note that this bitmap must be present on the user's machine. Use File first to put it there. If /RESIZETOFIT is specified the image will be automatically resized (very poorly) to the image control size. If you used \R{aaddbrandingimage}{AddBrandingImage} you can get this size, by compiling your script and watching for \R{aaddbrandingimage}{AddBrandingImage} output, it will tell you the size. \R{setbrandingimage}{SetBrandingImage} will not work when called from .onInit!
|
||||
|
||||
\S2{setdetailsview} SetDetailsView
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
\S1{UninstallSection} Uninstall Section
|
||||
|
||||
A special Section named 'Uninstall' must be created in order to generate an uninstaller. This section should remove all files, registry keys etc etc that were installed by the installer, from the system. Here is an example of a simple uninstall section:
|
||||
A special \R{ssection}{Section} named 'Uninstall' must be created in order to generate an uninstaller. This section should remove all files, registry keys etc etc that were installed by the installer, from the system. Here is an example of a simple uninstall section:
|
||||
|
||||
\c Section "Uninstall"
|
||||
\c Delete $INSTDIR\Uninst.exe ; delete self (see explanation below why this works)
|
||||
|
|
|
@ -25,7 +25,7 @@ If you don't do this, you'll only be able to know if the uninstaller failed copy
|
|||
Create a key with your product name under \\<b\\>HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\</b\\> to add entries to the "Add/Remove Programs" section in the Control Panel.
|
||||
For Windows NT (NT4/2000/XP), it's also possible to create the key in the HKCU hive, so it will only appear for the current user.
|
||||
There are several values you can write to key to give information about your application and the uninstaller.
|
||||
Write a value using the WriteRegStr command (for strings) or WriteRegDWORD command (for DWORD values). Example:
|
||||
Write a value using the \R{writeregstr}{WriteRegStr} command (for strings) or \R{writeregdword}{WriteRegDWORD} command (for DWORD values). Example:
|
||||
|
||||
|
||||
\c WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Product" "DisplayName" "Application Name"
|
||||
|
@ -73,7 +73,7 @@ If both NoModify and NoRepair are set to 1, the button displays "Remove" instead
|
|||
Some install processes are required to call functions contained inside third party DLLs. A prime example of this is when installing a Palm(TM) conduit.
|
||||
|
||||
\\<b\\>Some background about System.dll\\</b\\> \\<br\\>
|
||||
The System.dll plug-in (by Brainsucker) enables calling of external DLLs by providing the 'Call' function. There are a number of other functions provided by System.dll, but they will not be covered here. For more details about the other functions, lock the doors, take the phone off the hook, screw your head on *real* tight and head on over to the \L{../Docs/System/System.html}{System readme}.
|
||||
The System.dll plug-in (by Brainsucker) enables calling of external DLLs by providing the '\R{call}{Call}' function. There are a number of other functions provided by System.dll, but they will not be covered here. For more details about the other functions, lock the doors, take the phone off the hook, screw your head on *real* tight and head on over to the \L{../Docs/System/System.html}{System readme}.
|
||||
|
||||
\\<u\\>Data Types\\</u\\> \\<br\\>
|
||||
System.dll recognises the following data types:
|
||||
|
@ -119,7 +119,7 @@ Pointer to a 64-bit integer, output pushed on stack, no input:
|
|||
\c *l .s
|
||||
|
||||
Using System.dll::Call
|
||||
To call a function in a third party DLL, the Call function is used like this:
|
||||
To call a function in a third party DLL, the \R{call}{Call} function is used like this:
|
||||
|
||||
\c System::Call 'YourDllName::YourDllFunction(i, *i, t) i(r0, .r1, r2) .r3'
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue