Updated docs
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1609 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
9e16ba98b8
commit
90ea8491f4
22 changed files with 246 additions and 243 deletions
|
@ -1,46 +1,48 @@
|
|||
\C{instattribs} Installer Attributes
|
||||
|
||||
\H{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. With the exception of InstallDir, none of these attributes allow use of Variables other than $\\r and $\\n in their strings.
|
||||
|
||||
\\<b\\>Defaults are bold\\</b\\>
|
||||
|
||||
\H{aaddbrandingimage} AddBrandingImage
|
||||
\S{aaddbrandingimage} AddBrandingImage
|
||||
|
||||
\c (left|top) (width|height)
|
||||
|
||||
Adds a branding image on the top of the installer or on the left. Its size will be set according to the width/height sepcified, the installer width/height and the installer font. Because this depends on the installer font, you should put SetFont before AddBrandingImage.
|
||||
|
||||
\H{aallowrootdirinstall} AllowRootDirInstall
|
||||
\S{aallowrootdirinstall} AllowRootDirInstall
|
||||
|
||||
\c true|\\<b\\>false\\</b\\>
|
||||
|
||||
Controls whether or not installs are enabled to the root directory of a drive, or directly into a network share. Set to 'true' to change the safe behavior, which prevents users from selecting C:\\ or \\\\Server\\Share as an install (and later on, uninstall) directory. For additional directory selection page customizability, see .onVerifyInstDir (\k{onverifyinstdir}).
|
||||
|
||||
\H{aautoclosewindow} AutoCloseWindow
|
||||
\S{aautoclosewindow} AutoCloseWindow
|
||||
|
||||
\c true|\\<b\\>false\\</b\\>
|
||||
|
||||
Sets whether or not the install window automatically closes when completed. This is overrideable from a section using SetAutoClose.
|
||||
|
||||
\H{abggradient} BGGradient
|
||||
\S{abggradient} BGGradient
|
||||
|
||||
\c [\\<b\\>off\\</b\\>]|[topc botc [textcolor|notext]]
|
||||
|
||||
Specifies whether or not to use a gradient background window. If 'off', the installer will not show a background window, if no parameters are specified, the default black to blue gradient is used, and otherwise the top_color or bottom_color are used to make a gradient. Top_color and bottom_color are specified using the form RRGGBB (in hexadecimal, as in HTML, only minus the leading '#', since # can be used for comments). 'textcolor' can be specified as well, or 'notext' can be specified to turn the big background text off.
|
||||
|
||||
\H{abrandingtext} BrandingText
|
||||
\S{abrandingtext} BrandingText
|
||||
|
||||
\c [/LANG=lang_id] /TRIM(LEFT|RIGHT|CENTER) text
|
||||
|
||||
Sets the text that is shown (by default it is 'Nullsoft Install System vX.XX') in the bottom of the install window. Setting this to an empty string ("") uses the default; to set the string to blank, use " " (a space). If it doesn't matter to you, leave it the default so that everybody can know why the installer didn't suck. heh. Use /TRIMLEFT, /TRIMRIGHT or /TRIMCENTER to trim down the size of the control to the size of the string.
|
||||
|
||||
\H{acaption} Caption
|
||||
\S{acaption} Caption
|
||||
|
||||
\c [/LANG=lang_id] caption
|
||||
|
||||
Sets what the titlebars of the installer will display. By default, it is 'Name Setup', where Name is specified with the Name command (See \k{aname}). You can, however, override it with 'MyApp Installer' or whatever. If you specify an empty string (""), the default will be used (you can however specify " " to achieve a blank string)
|
||||
|
||||
\H{achangeui} ChangeUI
|
||||
\S{achangeui} ChangeUI
|
||||
|
||||
\c dialog ui_file.exe
|
||||
|
||||
|
@ -60,7 +62,7 @@ Replaces dialog (\e{IDD_LICENSE}, \e{IDD_DIR}, \e{IDD_SELCOM}, \e{IDD_INST}, \e{
|
|||
|
||||
\b \e{IDD_VERIFY} must contain \e{IDC_STR} (static).
|
||||
|
||||
\H{acheckbitmap} CheckBitmap
|
||||
\S{acheckbitmap} CheckBitmap
|
||||
|
||||
\c bitmap.bmp
|
||||
|
||||
|
@ -68,91 +70,91 @@ Specifies the bitmap with the images used for the checks of the component-select
|
|||
|
||||
This bitmap should have a size of 96x16 pixels and contain six 16x16 images for the different states (in order: selection mask, not checked, checked, greyed out, unchecked & read-only, checked & read-only). Use magenta as mask color (this area will be transparent).
|
||||
|
||||
\H{acompletedtext} CompletedText
|
||||
\S{acompletedtext} CompletedText
|
||||
|
||||
\c [/LANG=lang_id] [Completed text]
|
||||
|
||||
Replaces the default text ("Completed") that is printed at the end of the install if parameter is specified. Otherwise, the default is used.
|
||||
|
||||
\H{acomponenttext} ComponentText
|
||||
\S{acomponenttext} ComponentText
|
||||
|
||||
\c [/LANG=lang_id] [text] [subtext] [subtext2]
|
||||
|
||||
Specifies a string that is above the component list. This can be something that notifies the user what it is they are actually installing. Note that if no parameter is specified, or if the ComponentText command is omitted, then the component page will not be visible, and all of the sections will be installed. Note: if text is specified and non-empty and you leave subtext or subtext2 empty, the defaults will be used (to set one to blank, use a string like " "). empty strings mean default on subtext and subtext2. Likewise, if you wish to enable the component page, but don't want any text on the top line, set text to " ".
|
||||
|
||||
\H{acrccheck} CRCCheck
|
||||
\S{acrccheck} CRCCheck
|
||||
|
||||
\c \\<b\\>on\\</b\\>|off|force
|
||||
|
||||
Specifies whether or not the installer will perform a CRC on itself before allowing an install. Note that if the user uses /NCRC on the command line when executing the installer, and you didn't specify 'force', the CRC will not occur, and the user will be allowed to install a (potentially) corrupted installer.
|
||||
|
||||
\H{adetailsbuttontext} DetailsButtonText
|
||||
\S{adetailsbuttontext} DetailsButtonText
|
||||
|
||||
\c [/LANG=lang_id] [show details text]
|
||||
|
||||
Replaces the default details button text of "Show details", if parameter is specified (otherwise the default is used).
|
||||
|
||||
\H{adirshow} DirShow
|
||||
\S{adirshow} DirShow
|
||||
|
||||
\c \\<b\\>show\\</b\\>|hide
|
||||
|
||||
Specifies whether or not the user will see the directory selection page. Note that if 'hide' is specified, the installer will still check the validity of the installation path (using internal logic and .onVerifyInstDir if it is declared). If the path is deemed invalid, the directory page will be shown. To completely disable the Directory page (and install without prompting, even if a valid installation path is not available), specify DirText with no parameter (this might be useful if the installer installs everything into $SYSDIR or something like that).
|
||||
|
||||
\H{adirtext} DirText
|
||||
\S{adirtext} DirText
|
||||
|
||||
\c [/LANG=lang_id] [text] [subtext] [browse text]
|
||||
|
||||
Specifies a string that is above the directory selection area. If this command is not specified, or no parameter is specified, then the directory page is never visible to the user (even if DirShow show is specified). If subtext is specified and not empty, it overrides the default text above the path entry box ("Select the directory to install MyApp in:"). If browse button text is specified but not empty, it overrides the default browse button text ("Browse...").
|
||||
|
||||
\H{a} FileErrorText
|
||||
\S{a} FileErrorText
|
||||
|
||||
\c [/LANG=lang_id] [file error text]
|
||||
|
||||
Replaces the default text that comes up when a file cannot be written to. This string can contain a reference to $0, which is the filename ($0 is temporarily changed to this value). Example: "Can not write to file $\\r$\\n$0$\\r$\\ngood luck, bitch.".
|
||||
|
||||
\H{ainstallbuttontext} InstallButtonText
|
||||
\S{ainstallbuttontext} InstallButtonText
|
||||
|
||||
\c [/LANG=lang_id] [install button text]
|
||||
|
||||
If parameter is specified, overrides the default install button text (of "Install") with the specified text.
|
||||
|
||||
\H{ainstallcolors} InstallColors
|
||||
\S{ainstallcolors} InstallColors
|
||||
|
||||
\c /windows | foreground background
|
||||
|
||||
Sets the colors to use for the install info screen (the default is 00FF00 000000. Use the form RRGGBB (in hexadecimal, as in HTML, only minus the leading '#', since # can be used for comments). Note that if "/windows" is specified as the only parameter, the default windows colors will be used.
|
||||
|
||||
\H{ainstalldir} InstallDir
|
||||
\S{ainstalldir} InstallDir
|
||||
|
||||
\c definstdir
|
||||
|
||||
Sets the default installation directory is. See the variables section for variables that can be used to make this string (especially $PROGRAMFILES). Note that the part of this string following the last \\ will be used if the user selects 'browse', and may be appended back on to the string at install time (to disable this, end the directory with a \\ (which will require the entire parameter to be enclosed with quotes)). If this doesn't make any sense, play around with the browse button a bit.
|
||||
|
||||
\H{ainstalldirregkey} InstallDirRegKey
|
||||
\S{ainstalldirregkey} InstallDirRegKey
|
||||
|
||||
\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.
|
||||
|
||||
\H{ainstprogressflags} InstProgressFlags
|
||||
\S{ainstprogressflags} InstProgressFlags
|
||||
|
||||
\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).
|
||||
|
||||
\H{ainsttype} InstType
|
||||
\S{ainsttype} InstType
|
||||
|
||||
\c install_type_name | /NOCUSTOM | ([/LANG=lang_id] /CUSTOMSTRING=str)| /COMPONENTS.. ..ONLYONCUSTOM
|
||||
|
||||
Adds an install type to the install type list, or disables the custom install type. There can be as many as 8 types, each one specifying the name of the install. The first type is the default (generally 'Typical'). Each type is numbered, starting at 1. See SectionIn for information on how those numbers are used. 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.
|
||||
|
||||
\H{alicensebkcolor} LicenseBkColor
|
||||
\S{alicensebkcolor} LicenseBkColor
|
||||
|
||||
\c color
|
||||
|
||||
Sets the background color of the license data. Color is specified using the form RRGGBB (in hexadecimal, as in HTML, only minus the leading '#', since # can be used for comments).
|
||||
|
||||
\H{alicensedata} LicenseData
|
||||
\S{alicensedata} LicenseData
|
||||
|
||||
\c [/LANG=lang_id] licdata.(txt|rtf)
|
||||
|
||||
|
@ -160,127 +162,127 @@ Specifies a text file or a RTF file to use for the license that the user can rea
|
|||
|
||||
If you make your license file a RTF file it is recommended you edit it with WordPad and not MS Word. Using WordPad will result in a much smaller file.
|
||||
|
||||
\H{alicensetext} LicenseText
|
||||
\S{alicensetext} LicenseText
|
||||
|
||||
\c [/LANG=lang_id] text [button_text]
|
||||
|
||||
Specifies a string that is above the license text. Omit this to not have a license displayed. If button_text is specified, it will override the default button text of "I Agree".
|
||||
|
||||
\H{aloadlanguagefile} LoadLanguageFile
|
||||
\S{aloadlanguagefile} LoadLanguageFile
|
||||
|
||||
\c lang_file.nlf
|
||||
|
||||
Loads a NLF (NSIS Language File) that will be used to create a string table for the specific language in that NLF.
|
||||
|
||||
\H{amiscbuttontext} MiscButtonText
|
||||
\S{amiscbuttontext} MiscButtonText
|
||||
|
||||
\c [/LANG=lang_id] [back button text] [next button text] [cancel button text] [close button text]
|
||||
|
||||
Replaces the default text strings for the four buttons (< Back, Next >, Cancel and Close). If parameters are omitted, the defaults are used.
|
||||
|
||||
\H{aname} Name
|
||||
\S{aname} Name
|
||||
|
||||
\c [/LANG=lang_id] name
|
||||
|
||||
Sets the name of the installer. The name is usually simply the product name such as 'MyApp' or 'CrapSoft MyApp'.
|
||||
|
||||
\H{aicon} Icon
|
||||
\S{aicon} Icon
|
||||
|
||||
\c path_to_icon.ico
|
||||
|
||||
Sets the icon of the installer.
|
||||
|
||||
\H{aoutfile} OutFile
|
||||
\S{aoutfile} OutFile
|
||||
|
||||
\c [path\]install.exe
|
||||
|
||||
Specifies the output file that the MakeNSIS should write the installer to. This is just the file that MakeNSIS writes, it doesn't affect the contents of the installer.
|
||||
|
||||
\H{aplugindir} PluginDir
|
||||
\S{aplugindir} PluginDir
|
||||
|
||||
\c directory
|
||||
|
||||
Causes the NSIS compiler to scan the given directory for Plugin DLLs.
|
||||
|
||||
\H{asetfont} SetFont
|
||||
\S{asetfont} SetFont
|
||||
|
||||
\c font_face_name font_size
|
||||
|
||||
Sets the installer font. Please remember that the font you choose must be present on the user's machine as well. Don't use rare fonts that only you have.
|
||||
|
||||
\H{ashowinstdetails} ShowInstDetails
|
||||
\S{ashowinstdetails} ShowInstDetails
|
||||
|
||||
\c \\<b\\>hide\\</b\\>|show|nevershow
|
||||
|
||||
Sets whether or not the details of the install are shown. Can be 'hide' to hide the details by default, allowing the user to view them, or 'show' to show them by default, or 'nevershow', to prevent the user from ever seeing them. Note that sections can override this using SetDetailsView.
|
||||
|
||||
\H{ashowuninstdetails} ShowUninstDetails
|
||||
\S{ashowuninstdetails} ShowUninstDetails
|
||||
|
||||
\c \\<b\\>hide\\</b\\>|show|nevershow
|
||||
|
||||
Sets whether or not the details of the uninstall are shown. Can be 'hide' to hide the details by default, allowing the user to view them, or 'show' to show them by default, or 'nevershow', to prevent the user from ever seeing them. Note that sections can override this using SetDetailsView.
|
||||
|
||||
\H{asilentinstall} SilentInstall
|
||||
\S{asilentinstall} SilentInstall
|
||||
|
||||
\c \\<b\\>normal\\</b\\>|silent|silentlog
|
||||
|
||||
Specifies whether or not the installer should be silent. If it is 'silent' or 'silentlog', all sections are installed quietly, with no screen output from the installer itself (MessageBoxes are still displayed on error, and the script can still display whatever it wants). Note that if this is set to 'normal' and the user runs the installer with /S on the command line, it will behave as if SilentInstall 'silent' was used. Note: see also LogSet (\k{logset}).
|
||||
|
||||
\H{asilentuninstall} SilentUnInstall
|
||||
\S{asilentuninstall} SilentUnInstall
|
||||
|
||||
\c \\<b\\>normal\\</b\\>|silent
|
||||
|
||||
Specifies whether or not the uninstaller should be silent. If it is 'silent' or 'silentlog', all sections are installed quietly, with no screen output from the installer itself (MessageBoxes are still displayed on error, and the script can still display whatever it wants). Note that if this is set to 'normal' and the user runs the installer with /S on the command line, it will behave as if SilentInstall 'silent' was used. Note: see also LogSet (\k{logset}).
|
||||
|
||||
\H{aspacetexts} SpaceTexts
|
||||
\S{aspacetexts} SpaceTexts
|
||||
|
||||
\c [/LANG=lang_id] [req text] [avail text]
|
||||
|
||||
If parameters are specified, overrides the space required and space available text ("Space required: " and "Space available: " by default). If 'none' is specified as the required text no space texts will be shown.
|
||||
|
||||
\H{asubcaption} SubCaption
|
||||
\S{asubcaption} SubCaption
|
||||
|
||||
\c [/LANG=lang_id] page_number subcaption
|
||||
|
||||
Overrides the subcaptions for each of the installer pages (0=": License Agreement",1=": Installation Options",2=": Installation Directory", 3=": Installing Files", 4=": Completed"). If you specify an empty string (""), the default will be used (you can however specify " " to achieve a blank string)
|
||||
|
||||
\H{auninstallbuttontext} UninstallButtonText
|
||||
\S{auninstallbuttontext} UninstallButtonText
|
||||
|
||||
\c [/LANG=lang_id] [button text]
|
||||
|
||||
Changes the text of the button that by default says "Uninstall" in the uninstaller. If no parameter is specified, the default text is used. See also WriteUninstaller (replaces UninstallEXEName).
|
||||
|
||||
\H{auninstallcaption} UninstallCaption
|
||||
\S{auninstallcaption} UninstallCaption
|
||||
|
||||
\c [/LANG=lang_id] caption
|
||||
|
||||
Sets what the titlebars of the uninstaller will display. By default, it is 'Name Uninstall', where Name is specified with the Name command. You can, however, override it with 'MyApp uninstaller' or whatever. If you specify an empty string (""), the default will be used (you can however specify " " to achieve a blank string)
|
||||
|
||||
\H{auninstallicon} UninstallIcon
|
||||
\S{auninstallicon} UninstallIcon
|
||||
|
||||
\c path_to_icon.ico
|
||||
|
||||
Sets the icon of the uninstaller.
|
||||
|
||||
\H{auninstallsubcaption} UninstallSubCaption
|
||||
\S{auninstallsubcaption} UninstallSubCaption
|
||||
|
||||
\c [/LANG=lang_id] page_number subcaption
|
||||
|
||||
Overrides the subcaptions for each of the uninstaller pages (0=": Confirmation",1=": Uninstalling Files",2=": Completed"). If you specify an empty string (""), the default will be used (you can however specify " " to achieve a blank string)
|
||||
|
||||
\H{auninstalltext} UninstallText
|
||||
\S{auninstalltext} UninstallText
|
||||
|
||||
\c [/LANG=lang_id] text [subtext]
|
||||
|
||||
Specifies the text on the first page of the uninstaller. If subtext is specified and not empty, it will replace the default secondary text on that page, "Uninstall from:".
|
||||
|
||||
\H{awindowicon} WindowIcon
|
||||
\S{awindowicon} WindowIcon
|
||||
|
||||
\c \\<b\\>on\\</b\\>|off
|
||||
|
||||
Sets whether or not the installer's icon is being displayed.
|
||||
|
||||
\H{axpstyle} XPStyle
|
||||
\S{axpstyle} XPStyle
|
||||
|
||||
\c on|\\<b\\>off\\</b\\>
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
\C{basicinstructions} Basic Instructions
|
||||
\H{basicinstructions} Basic Instructions
|
||||
|
||||
The instructions that NSIS uses for scripting are sort of a cross between PHP and assembly. There are no real high level language constructs, but the instructions themselves are (for the most part) high level, and you have handy string capability (i.e. you don't have to worry about concatenating strings, etc). You essentially have 25 registers (20 general purpose, 5 special purpose), and a stack.
|
||||
|
||||
\H{delete} Delete
|
||||
\S{delete} Delete
|
||||
|
||||
\c [/REBOOTOK] file
|
||||
|
||||
Delete file (which can be a file or wildcard, but should be specified with a full path) from the target system. If /REBOOTOK is specified and the file cannot be deleted then the file is deleted when the system reboots -- if the file will be deleted on a reboot, the reboot flag will be set. The error flag is set if files are found and cannot be deleted. The error flag is not set from trying to delete a file that does not exist.
|
||||
|
||||
\H{file} File
|
||||
\S{file} File
|
||||
|
||||
\c [/nonfatal] [/a] ([/r] (file|wildcard) [...] | /oname=file.dat infile.dat)
|
||||
|
||||
|
@ -28,37 +28,37 @@ Adds file(s) to be extracted to the current output path ($OUTDIR).
|
|||
|
||||
\b If the /nonfatal switch is used, a warning will be issued if no files found instead of an error.
|
||||
|
||||
\H{exec} Exec
|
||||
\S{exec} Exec
|
||||
|
||||
\c command
|
||||
|
||||
Execute the specfied program and continue immediately. Note that the file specified must exist on the target system, not the compiling system. $OUTDIR is used for the working directory. The error flag is set if the process could not be launched. Note, if the command could have spaces, you may with to put it in quotes to delimit it from parameters. i.e.: Exec '"$INSTDIR\\command.exe" parameters'.
|
||||
|
||||
\H{execshell} ExecShell
|
||||
\S{execshell} ExecShell
|
||||
|
||||
\c action command [parameters] [SW_SHOWNORMAL | SW_SHOWMAXIMIZED | SW_SHOWMINIMIZED]
|
||||
|
||||
Execute the specfied program using ShellExecute. Note that action is usually "open", "print", etc, but can be an empty string to use the default action. Parameters and the show type are optional. $OUTDIR is used for the working directory. The error flag is set if the process could not be launched.
|
||||
|
||||
\H{execwait} ExecWait
|
||||
\S{execwait} ExecWait
|
||||
|
||||
\c command [user_var(exit code)]
|
||||
|
||||
Execute the specfied 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 may with to put it in quotes to delimit it from parameters. i.e.: ExecWait '"$INSTDIR\\command.exe" parameters'
|
||||
|
||||
\H{rename} Rename
|
||||
\S{rename} Rename
|
||||
|
||||
\c [/REBOOTOK] source_file dest_file
|
||||
|
||||
Rename source_file to dest_file. Functions just like the Win32 API MoveFile, which means you can move a file from anywhere on the system to anywhere else, and you can move a directory to somewhere else on the same drive. If /REBOOTOK is specified, and the file cannot be overwritten, then the file is moved when the system reboots -- if the file will be moved on a reboot, the reboot flag will be set. The error flag is set if the file cannot be renamed (and /REBOOTOK is not used) or if the source file does not exist.
|
||||
|
||||
\H{rmdir} RMDir
|
||||
\S{rmdir} RMDir
|
||||
|
||||
\c [/r] directory
|
||||
|
||||
Remove the specified directory (which should be a full path). Without /r, the directory will only be removed if it is completely empty. If /r is specified, the dictory will be removed recursively, so all directories and files in the specified directory will be removed. The error flag is set if the directory cannot be removed.
|
||||
|
||||
\H{reservefile} ReserveFile
|
||||
\S{reservefile} ReserveFile
|
||||
|
||||
\c [/nonfatal] [/r] file [file...]
|
||||
|
||||
|
@ -66,7 +66,7 @@ Reserves a file in the data block for later use. As files are added in the order
|
|||
|
||||
See File (\K{file}) for more information about the parameters.
|
||||
|
||||
\H{setoutpath} SetOutPath
|
||||
\S{setoutpath} SetOutPath
|
||||
|
||||
\c outpath
|
||||
|
||||
|
|
Binary file not shown.
|
@ -1074,7 +1074,7 @@ xhtml_add_contents_entry(FILE * fp, xhtmlsection * section, int limit)
|
|||
fprintf(fp, "<ul>\n");
|
||||
}
|
||||
fprintf(fp, "<li>");
|
||||
fprintf(fp, "<a %shref=\"%s#%s\">",(section->para->type==para_Chapter||section->para->type==para_Appendix)?"class=\"btitle\" ":"", section->file->filename,section->fragment);
|
||||
fprintf(fp, "<a %shref=\"%s#%s\">",(section->para->type==para_Chapter||section->para->type==para_Appendix)?"class=\"btitle\" ":"", section->file->filename,(section->para->type==para_Chapter)?"":section->fragment);
|
||||
if (section->para->type==para_Chapter||section->para->type==para_Appendix) fprintf(fp, "<b>");
|
||||
if ((section->para->type!=para_Heading&§ion->para->type!=para_Subsect)||(section->para->kwtext&&!section->para->words)) {
|
||||
xhtml_para(fp, section->para->kwtext);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
bin\halibut.exe config.but intro.but usage.but script.but attributes.but compilerflags.but pages.but sections.but basic.but registry.but generalpurpose.but flowcontrol.but file.but misc.but string.but stack.but int.but reboot.but uninstall.but log.but sec.but functions.but labels.but var.but usection.but callback.but compiler.but defines.but plugin.but history.but modernui.but usefulfunc.but license.but
|
||||
bin\halibut.exe config.but intro.but usage.but script.but attributes.but compilerflags.but pages.but sections.but basic.but registry.but generalpurpose.but flowcontrol.but file.but misc.but string.but stack.but int.but reboot.but uninstall.but log.but sec.but ui.but functions.but labels.but var.but usection.but callback.but compiler.but defines.but plugin.but history.but modernui.but usefulfunc.but license.but
|
||||
@copy Contents.html index.html
|
||||
@copy index.html IndexPage.html
|
||||
@copy *.html ..\\
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
\C{flags} Compiler Flags
|
||||
\H{flags} Compiler Flags
|
||||
|
||||
The following commands change how the compiler generates code and compresses data. These commands are valid anywhere in the script, and effect every line below where each one is placed (until overriden by another command).
|
||||
|
||||
\H{asetcompress} SetCompress
|
||||
\S{asetcompress} SetCompress
|
||||
|
||||
\c auto|force|off
|
||||
|
||||
This command sets the compress flag which is used by the installer to determine whether or not data should be compressed. Typically the SetCompress flag will effect the commands after it, and the last SetCompress command in the file also determines whether or not the install info section and uninstall data of the installer is compressed. If compressflag is 'auto', then files are compressed if the compressed size is smaller than the uncompressed size. If compressflag is set to 'force', then the compressed version is always used. If compressflag is 'off' then compression is not used (which can be faster). Note that this option has no effect on bzip2 installers (compression is always used on bzip2 installers).
|
||||
|
||||
\H{asetcompressor} SetCompressor
|
||||
\S{asetcompressor} SetCompressor
|
||||
|
||||
\c zlib|bzip2
|
||||
|
||||
This command sets the compression algorithm used to compress files/data in the installer. Options are ZLib or BZip2. ZLib (the default) uses deflate compression. This mode uses less memory at runtime and is faster. BZip2 compression is usually better for large installers, but it is slower and uses a lot more memory at runtime.
|
||||
|
||||
\H{asetdatablockoptimize} SetDatablockOptimize
|
||||
\S{asetdatablockoptimize} SetDatablockOptimize
|
||||
|
||||
\c on|off
|
||||
|
||||
This command tells the compiler whether or not to do datablock optimizations. Datablock optimizations have the compiler check to see if any data being added to the data block is already in the data block, and if so, it is simply referenced as opposed to added (can save a little bit of size). It is highly recommended to leave this option on.
|
||||
|
||||
\H{asetdatesave} SetDateSave
|
||||
\S{asetdatesave} SetDateSave
|
||||
|
||||
\c on|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.
|
||||
|
||||
\H{asetoverwrite} SetOverwrite
|
||||
\S{asetoverwrite} SetOverwrite
|
||||
|
||||
\c on|off|try|ifnewer
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
\cfg{xhtml-leaf-level}{1}
|
||||
|
||||
\cfg{xhtml-leaf-smallest-contents}{2}
|
||||
\cfg{xhtml-leaf-smallest-contents}{3}
|
||||
|
||||
\cfg{xhtml-leaf-contains-contents}{true}
|
||||
|
||||
\cfg{xhtml-contents-depth-0}{5}
|
||||
\cfg{xhtml-contents-depth-0}{1}
|
||||
|
||||
\cfg{xhtml-head-end}{<link rel="stylesheet" href="style.css" type='text/css' />}
|
||||
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
\C{fileinst} File Instructions
|
||||
\H{fileinst} File Instructions
|
||||
|
||||
\H{FileClose} FileClose
|
||||
\S{FileClose} FileClose
|
||||
|
||||
\c handle
|
||||
|
||||
Closes a file handle opened with FileOpen.
|
||||
|
||||
\H{FileOpen} FileOpen
|
||||
\S{FileOpen} FileOpen
|
||||
|
||||
\c user_var(handle output) filename openmode
|
||||
|
||||
Opens a file named "filename", and sets the handle output variable with the handle. The openmode should be one of "r" (read) "w" (write, all contents of file are destroyed) or "a" (append, meaning opened for both read and write, contents preserved). In all open modes, the file pointer is placed at the beginning of the file. If the file cannot be opened, the handle output is set to empty, and the error flag is set.
|
||||
|
||||
\H{FileRead} FileRead
|
||||
\S{FileRead} FileRead
|
||||
|
||||
\c handle user_var(output) [maxlen]
|
||||
|
||||
Reads a string 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). Strings are limited to 1024 characters. 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.
|
||||
|
||||
\H{FileReadByte} FileReadByte
|
||||
\S{FileReadByte} FileReadByte
|
||||
|
||||
\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.
|
||||
|
||||
\H{FileSeek} FileSeek
|
||||
\S{FileSeek} FileSeek
|
||||
|
||||
\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". If mode is specified as CUR, then the file pointer is moved by offset. If mode is specified as END, the file pointer is set to a position relative to EOF. If the final parameter "new position" is specified, the new file position will be stored to that variable.
|
||||
|
||||
\H{FileWrite} FileWrite
|
||||
\S{FileWrite} FileWrite
|
||||
|
||||
\c handle string
|
||||
|
||||
Writes a string to a file opened with FileOpen. If an error occurs writing, the error flag will be set.
|
||||
|
||||
\H{FileWriteByte} FileWriteByte
|
||||
\S{FileWriteByte} FileWriteByte
|
||||
|
||||
\c handle string
|
||||
|
||||
Writes the integer interpretation of 'string' to a file opened with FileOpen. If an error occurs writing, the error flag will be set. Note that the low byte of the integer is used, i.e. writing 256 is the same as writing 0, etc.
|
||||
|
||||
\H{FindClose} FindClose
|
||||
\S{FindClose} FindClose
|
||||
|
||||
\c handle
|
||||
|
||||
Closes a search opened with FindFirst.
|
||||
|
||||
\H{FindFirst} FindFirst
|
||||
\S{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.
|
||||
|
||||
\H{FindNext} FindNext
|
||||
\S{FindNext} FindNext
|
||||
|
||||
\c handle user_var(filename_output)
|
||||
|
||||
|
|
|
@ -1,52 +1,40 @@
|
|||
\C{flowcontrol} Flow Control Instructions
|
||||
\H{flowcontrol} Flow Control Instructions
|
||||
|
||||
\H{abort} Abort
|
||||
\S{abort} Abort
|
||||
|
||||
\c user_message
|
||||
|
||||
Cancels the install, stops execution of script, and displays user_message in the status display. Note: you can use this from Callback Functions (\k{callbacks}) to do special things. Pages callbacks (\K{pages}) also uses Abort for special purposes.
|
||||
|
||||
\H{call} Call
|
||||
\S{call} Call
|
||||
|
||||
\c function_name | :label_name
|
||||
|
||||
Calls the function named function_name. If in the Uninstall section, Call can only be used with function names beginning with "un.". If the parameter starts with a ':' it will be treated as a label (so you can call to a label in your function - this is probably not going to be used most of the time).
|
||||
|
||||
\H{clearerrors} ClearErrors
|
||||
\S{clearerrors} ClearErrors
|
||||
|
||||
Clears the error flag.
|
||||
|
||||
\H{findwindow} FindWindow
|
||||
|
||||
\c user_var(hwnd output) windowclass [windowtitle] [windowparent] [childafter]
|
||||
|
||||
Searches for a window. Behaves like the win32 FindWindowEx(). Seaches 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.
|
||||
|
||||
\H{getcurrentaddress} GetCurrentAddress
|
||||
\S{getcurrentaddress} GetCurrentAddress
|
||||
|
||||
\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.
|
||||
|
||||
\H{getdlgitem} GetDlgItem
|
||||
|
||||
\c user_var(output) dialog item_id
|
||||
|
||||
Retrieves the handle of a control identified by item_id in the specified dialog box dialog. If you want to get the handle of a control on the inner dialog, first use FindWindow user_var(output) "#32770" "" $HWNDPARENT to get the handle of the inner dialog.
|
||||
|
||||
\H{getfunctionaddress} GetFunctionAddress
|
||||
\S{getfunctionaddress} GetFunctionAddress
|
||||
|
||||
\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).
|
||||
|
||||
\H{getlabeladdress} GetLabelAddress
|
||||
\S{getlabeladdress} GetLabelAddress
|
||||
|
||||
\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.
|
||||
|
||||
\H{goto} Goto
|
||||
\S{goto} Goto
|
||||
|
||||
\c label_to_jump_to | +offset| -offset| user_var(target)
|
||||
|
||||
|
@ -56,37 +44,37 @@ If +offset or -offset is specified, jump is relative by offset instructions. Got
|
|||
|
||||
If a user variable is specified, jumps to absolute address (generally you will want to get this value from a function like GetLabelAddress. I Compiler flag commands and SectionIn aren't instructions so jumping over them has no effect.
|
||||
|
||||
\H{iferrors} IfErrors
|
||||
\S{iferrors} IfErrors
|
||||
|
||||
\c jumpto_iferror [jumpto_ifnoerror]
|
||||
|
||||
Checks and clears the error flag, and if it is set, it will goto jumpto_iferror, otherwise it will goto jumpto_ifnoerror. The error flag is set by other instructions when a recoverable error (such as trying to delete a file that is in use) occurs.
|
||||
|
||||
\H{iffileexists} IfFileExists
|
||||
\S{iffileexists} IfFileExists
|
||||
|
||||
\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\\*.*
|
||||
|
||||
\H{intcmp} IntCmp
|
||||
\S{IfRebootFlag} IfRebootFlag
|
||||
|
||||
\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 SetRebootFlag.
|
||||
|
||||
\S{intcmp} IntCmp
|
||||
|
||||
\c val1 val2 jump_if_equal [jump_if_val1_less] [jump_if_val1_more]
|
||||
|
||||
Compares two integers val1 and val2. If val1 and val2 are equal, Gotos jump_if_equal, otherwise if val1 < val2, Gotos jump_if_val1_less, otherwise if val1 > val2, Gotos jump_if_val1_more.
|
||||
|
||||
\H{intcmpu} IntCmpU
|
||||
\S{intcmpu} IntCmpU
|
||||
|
||||
\c val1 val2 jump_if_equal [jump_if_val1_less] [jump_if_val1_more]
|
||||
|
||||
Compares two unsigned integers val1 and val2. If val1 and val2 are equal, Gotos jump_if_equal, otherwise if val1 < val2, Gotos jump_if_val1_less, otherwise if val1 > val2, Gotos jump_if_val1_more. Performs the comparison as unsigned integers.
|
||||
|
||||
\H{iswindow} IsWindow
|
||||
|
||||
\c HWND jump_if_window [jump_if_not_window]
|
||||
|
||||
If HWND is a window, Gotos jump_if_window, otherwise, Gotos jump_if_not_window (if specified).
|
||||
|
||||
\H{messagebox} MessageBox
|
||||
\S{messagebox} MessageBox
|
||||
|
||||
\c mb_option_list messagebox_text [return_check jumpto] [return_check_2 jumpto_2]
|
||||
|
||||
|
@ -144,16 +132,10 @@ Return_check can be 0 (or empty, or left off), or one of the following:
|
|||
|
||||
If the return value of the MessageBox is return_check, the installer will Goto jumpto.
|
||||
|
||||
\H{return} Return
|
||||
\S{return} Return
|
||||
|
||||
Returns from a function or section.
|
||||
|
||||
\H{sendmessage} SendMessage
|
||||
|
||||
\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, 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. Here are a few example messages and their values:
|
||||
|
||||
\b \e{WM_CLOSE} 16
|
||||
|
||||
\b \e{WM_COMMAND} 273
|
||||
|
@ -166,15 +148,15 @@ To send a string param, put STR: before the parameter, for example: "STR:Some st
|
|||
|
||||
Use /TIMEOUT=time_in_ms to specify the duration, in milliseconds, of the time-out period.
|
||||
|
||||
\H{quit} Quit
|
||||
\S{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).
|
||||
|
||||
\H{seterrors} SetErrors
|
||||
\S{seterrors} SetErrors
|
||||
|
||||
Sets the error flag.
|
||||
|
||||
\H{strcmp} StrCmp
|
||||
\S{strcmp} StrCmp
|
||||
|
||||
\c str1 str2 jump_if_equal [jump_if_not_equal]
|
||||
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
\C{generalpurpose} General Purpose Instructions
|
||||
\H{generalpurpose} General Purpose Instructions
|
||||
|
||||
\H{callinstdll} CallInstDLL
|
||||
\S{callinstdll} CallInstDLL
|
||||
|
||||
\c dllfile [/NOUNLOAD]
|
||||
|
||||
Function Calls a NSIS extension DLL. See Contrib\\ExDLL for an example of how to make one. Extension DLLs can access the stack and variables. Use /NOUNLOAD to force the installer to leave the DLL loaded.
|
||||
|
||||
\H{copyfiles} CopyFiles
|
||||
\S{copyfiles} CopyFiles
|
||||
|
||||
\c [/SILENT] [/FILESONLY] filespec_on_destsys destination_path [size_of_files_in_kb]
|
||||
|
||||
Copies files from the source to the destination on the installing system. Useful with $EXEDIR if you want to copy from installation media, or to copy from one place to another on the system. Uses SHFileOperation, so the user might see a status window of the copy operation if it is large (to disable this, use /SILENT). The last parameter specifies how big the copy is (in kilobytes), so that the installer can approximate the disk space requirements. On error, or if the user cancels the copy (only possible when /SILENT was omitted), the error flag is set. If /FILESONLY is specified, only files are copied.
|
||||
|
||||
\H{createdirectory} CreateDirectory
|
||||
\S{createdirectory} CreateDirectory
|
||||
|
||||
\c path_to_create
|
||||
|
||||
Creates (recursively if necessary) the specified directory.
|
||||
|
||||
\H{createshortcut} CreateShortCut
|
||||
\S{createshortcut} CreateShortCut
|
||||
|
||||
\c link.lnk target.file [parameters [icon.file [icon_index_number [start_options [keyboard_shortcut [description]]]]]]
|
||||
|
||||
|
@ -29,49 +29,49 @@ keyboard_shortcut should be in the form of 'flag|c' where flag can be a combinat
|
|||
description should be the description of the shortcut, or comment as it is called under XP.
|
||||
The error flag is set if the shortcut cannot be created (i.e. the path does not exist, or some other error).
|
||||
|
||||
\H{getdllversion} GetDLLVersion
|
||||
\S{getdllversion} GetDLLVersion
|
||||
|
||||
\c filename user_var(high dword output) user_var(low dword output)
|
||||
|
||||
Gets the version information from the DLL in "filename". Sets the user output variables with the high and low dwords of version information on success; on failure the outputs are empty and the error flag is set.
|
||||
|
||||
\H{getdllversionlocal} GetDLLVersionLocal
|
||||
\S{getdllversionlocal} GetDLLVersionLocal
|
||||
|
||||
\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.
|
||||
|
||||
\H{getfiletime} GetFileTime
|
||||
\S{getfiletime} GetFileTime
|
||||
|
||||
\c filename user_var(high dword output) user_var(low dword output)
|
||||
|
||||
Gets the last write time of "filename". Sets the user output variables with the high and low dwords of the timestamp on success; on failure the outputs are empty and the error flag is set.
|
||||
|
||||
\H{getfiletimelocal} GetFileTimeLocal
|
||||
\S{getfiletimelocal} GetFileTimeLocal
|
||||
|
||||
\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.
|
||||
|
||||
\H{getfullpathname} GetFullPathName
|
||||
\S{getfullpathname} GetFullPathName
|
||||
|
||||
\c [/SHORT] user_var(output) path_or_file
|
||||
|
||||
Assign to the user variable $x, the full path of the file specified. If the path portion of the parameter is not found, the error flag will be set and $x will be empty. If /SHORT is specified, the path is converted to the short filename form.
|
||||
|
||||
\H{gettempfilename} GetTempFileName
|
||||
\S{gettempfilename} GetTempFileName
|
||||
|
||||
\c user_var(output)
|
||||
|
||||
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. Delete the file when done with it.
|
||||
|
||||
\H{searchpath} SearchPath
|
||||
\S{searchpath} SearchPath
|
||||
|
||||
\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.
|
||||
|
||||
\H{setfileattributes} SetFileAttributes
|
||||
\S{setfileattributes} SetFileAttributes
|
||||
|
||||
\c filename attribute1|attribute2|...
|
||||
|
||||
|
@ -93,13 +93,13 @@ Sets the file attributes of 'filename'. Valid attributes can be combined with |
|
|||
|
||||
The error flag will be set if the file's attributes cannot be set (i.e. the file doesn't exist, or you don't have the right permissions)
|
||||
|
||||
\H{regdll} RegDLL
|
||||
\S{regdll} RegDLL
|
||||
|
||||
\c dllfile [entrypoint_name]
|
||||
|
||||
Loads the specified DLL and calls DllRegisterServer (or entrypoint_name if specified). The error flag is set if an error occurs (i.e. it can't load the DLL, initialize OLE, find the entry point, or the function returned anything other than ERROR_SUCCESS (=0)).
|
||||
|
||||
\H{unregdll} UnRegDLL
|
||||
\S{unregdll} UnRegDLL
|
||||
|
||||
\c dllfile
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
\C{intinst} Integer Support
|
||||
\H{intinst} Integer Support
|
||||
|
||||
\H{IntFmt} IntFmt
|
||||
\S{IntFmt} IntFmt
|
||||
|
||||
\c user_var(output) format numberstring
|
||||
|
||||
Formats the number in "numberstring" using the format "format", and sets the output to user variable $x. Example format strings include "%08X" "%u"
|
||||
|
||||
\H{IntOp} IntOp
|
||||
\S{IntOp} IntOp
|
||||
|
||||
\c user_var(output) value1 OP [value2]
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
\C{installlog} Install Logging Instructions
|
||||
\H{installlog} Install Logging Instructions
|
||||
|
||||
\H{logset} LogSet
|
||||
\S{logset} LogSet
|
||||
|
||||
\c on|off
|
||||
|
||||
Sets whether install logging to $INSTDIR\\install.log will happen. Note that \e{NSIS_CONFIG_LOG} must be set in the installer configuration (it is not by default) to support this.
|
||||
|
||||
\H{logtext} LogText
|
||||
\S{logtext} LogText
|
||||
|
||||
\c text
|
||||
|
||||
|
|
|
@ -1,62 +1,12 @@
|
|||
\C{miscinst} Miscellaneous Instructions
|
||||
\H{miscinst} Miscellaneous Instructions
|
||||
|
||||
\H{BringToFront} BringToFront
|
||||
|
||||
Makes the installer window visible and brings it to the top of the window list (i.e. if a command was executed that shows itself in front of the installer, a BringToFront would bring the installer back in focus).
|
||||
|
||||
\H{createfont} CreateFont
|
||||
|
||||
\c user_var(handle output) face_name [height] [weight] [/ITALIC] [/UNDERLINE] [/STRIKE]
|
||||
|
||||
Creates a font and puts its handle into user_var. For more information about the different parameters have a look at \W{http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_8fp0.asp}{MSDN's page about the Win32 API function CreateFont()}.
|
||||
|
||||
\H{detailprint} DetailPrint
|
||||
|
||||
\c user_message
|
||||
|
||||
Adds the string "user_message" to the details view of the installer.
|
||||
|
||||
\H{hidewindow} HideWindow
|
||||
|
||||
Hides the installer.
|
||||
|
||||
\H{setautoclose} SetAutoClose
|
||||
|
||||
\c true|false
|
||||
|
||||
Overrides the default auto window-closing flag (specified for the installer using AutoCloseWindow, and false for the uninstaller). Specify 'true' to have the install window immediately disappear after the install has completed, or 'false' to make it require a manual close.
|
||||
|
||||
\H{setbrandingimage} SetBrandingImage
|
||||
|
||||
\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 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 AddBrandingImage you can get this size, by compiling your script and watching for AddBrandingImage output, it will tell you the size. SetBrandingImage will not work when called from .onInit!
|
||||
|
||||
\H{setdetailsview} SetDetailsView
|
||||
|
||||
\c show|hide
|
||||
|
||||
Shows or hides the details, depending on which parameter you pass. Overrides the default details view, which is set via ShowInstDetails
|
||||
|
||||
\H{setdetailsprint} SetDetailsPrint
|
||||
|
||||
\c none|listonly|textonly|both|lastused
|
||||
|
||||
Sets mode at which commands print their status. None has commands be quiet, listonly has status text only added to the listbox, textonly has status text only printed to the status bar, and both enables both (the default). For extracting many small files, textonly is recommended (especially on win9x with smooth scrolling enabled).
|
||||
|
||||
\H{setshellvarcontext} SetShellVarContext
|
||||
\S{setshellvarcontext} SetShellVarContext
|
||||
|
||||
\c current|all
|
||||
|
||||
Sets the context of $SMPROGRAMS and other shell folders. If set to 'current' (the default), the current user's shell folders are used. If set to 'all', the 'all users' shell folder is used. The all users folder may not be supported on all OSes. If the all users folder is not found, the current user folder will be used.
|
||||
|
||||
\H{setstaticbkcolor} SetStaticBkColor
|
||||
|
||||
\c hwnd color
|
||||
|
||||
Sets a background color for a static control. Use GetDlgItem to get the handle (HWND) of the static control.
|
||||
|
||||
\H{sleep} Sleep
|
||||
\S{sleep} Sleep
|
||||
|
||||
\c sleeptime_in_ms
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
\C{pages} Pages
|
||||
\H{pages} Pages
|
||||
|
||||
Each (non-silent) NSIS installer has a set of pages. Each page can be a NSIS built-in page or a custom page created by a user's function (with InstallOptions for example).
|
||||
|
||||
\H{pageoreder} Ordering
|
||||
\S{pageoreder} Ordering
|
||||
|
||||
The page order is set simply by the order they are in the script. For example:
|
||||
|
||||
|
@ -19,7 +19,7 @@ Please note that you must still use LicenseText and LicenseData for the license
|
|||
|
||||
If you don't use any Page command the installer pages order will be just as in older version: license (if LicenseText and LicenseData were specified), components (if ComponentText was specified and there is more than one visible section), directory (if DirText was specified), instfiles.
|
||||
|
||||
\H{pagecallbacks} Callbacks
|
||||
\S{pagecallbacks} Callbacks
|
||||
|
||||
Each built-in page has two callback functions. The pre-function and the post-creation function. The pre-function is called right before the page is created and the post-function is called right after it is created and before it is showed so you can tweak its user interface with CreateFont (\K{createfont}), SetStaticBkColor (\K{setstaticbkcolor}) and SendMessage (\K{sendmessage}).
|
||||
|
||||
|
@ -57,13 +57,13 @@ Examples:
|
|||
\c noback:
|
||||
\c FunctionEnd
|
||||
|
||||
\H{page} Page
|
||||
\S{page} Page
|
||||
|
||||
\c (custom function) | ((license|components|directory|instfiles) [pre_function] [post_function])
|
||||
|
||||
Adds an installer page. See the above sections for more information about built-in versus custom pages and about callback functions.
|
||||
|
||||
\H{uninstpage} UninstPage
|
||||
\S{uninstpage} UninstPage
|
||||
|
||||
\c (custom function) | ((uninstConfirm|instfiles) [pre_function] [post_function])
|
||||
|
||||
|
|
|
@ -1,16 +1,10 @@
|
|||
\C{rebootinst} Reboot Support
|
||||
\H{rebootinst} Reboot Support
|
||||
|
||||
\H{IfRebootFlag} IfRebootFlag
|
||||
|
||||
\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 SetRebootFlag.
|
||||
|
||||
\H{Reboot} Reboot
|
||||
\S{Reboot} Reboot
|
||||
|
||||
Reboots the computer. Be careful with this one. If there is an error rebooting, this function sets the error flag and continues. If the reboot is sucessful, this instruction does not return.
|
||||
|
||||
\H{SetRebootFlag} SetRebootFlag
|
||||
\S{SetRebootFlag} SetRebootFlag
|
||||
|
||||
\c true|false
|
||||
|
||||
|
|
|
@ -1,90 +1,90 @@
|
|||
\C{registry} Registry, INI, File Instructions
|
||||
\H{registry} Registry, INI, File Instructions
|
||||
|
||||
\H{deleteinisec} DeleteINISec
|
||||
\S{deleteinisec} DeleteINISec
|
||||
|
||||
\c ini_filename section_name
|
||||
|
||||
Deletes the entire section [section_name] from ini_filename. If the section could not be removed from the ini file, the error flag is set.
|
||||
|
||||
\H{deleteinistr} DeleteINIStr
|
||||
\S{deleteinistr} DeleteINIStr
|
||||
|
||||
\c ini_filename section_name str_name
|
||||
|
||||
Deletes the string str_name from section [section_name] from ini_filename. If the string could not be removed from the ini file, the error flag is set.
|
||||
|
||||
\H{deleteregkey} DeleteRegKey
|
||||
\S{deleteregkey} DeleteRegKey
|
||||
|
||||
\c [/ifempty] root_key subkey
|
||||
|
||||
Deletes a registry key. If /ifempty is specified, the registry key will only be deleted if it has no subkeys (otherwise, the whole registry tree will be removed). Valid values for root_key are listed under WriteRegStr. The error flag is set if the key could not be removed from the registry (or if it didn't exist to begin with).
|
||||
|
||||
\H{deleteregvalue} DeleteRegValue
|
||||
\S{deleteregvalue} DeleteRegValue
|
||||
|
||||
\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).
|
||||
|
||||
\H{enumregkey} EnumRegKey
|
||||
\S{enumregkey} EnumRegKey
|
||||
|
||||
\c user_var(output) root_key subkey index
|
||||
|
||||
Set user variable $x with the name of the 'index'th registry key in root_key\\Hubkey. 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 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.
|
||||
|
||||
\H{enumregvalue} EnumRegValue
|
||||
\S{enumregvalue} EnumRegValue
|
||||
|
||||
\c user_var(output) root_key subkey index
|
||||
|
||||
Set user variable $x with the name of the 'index'th registry value in root_key\\Hubkey. Valid values for root_key are listed under WriteRegStr. Returns an empty string if there are no more values, 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 value in root_key\\Subkey. Valid values for root_key are listed under WriteRegStr. Returns an empty string if there are no more values, and returns an empty string and sets the error flag if there is an error.
|
||||
|
||||
\H{expandenvstrings} ExpandEnvStrings
|
||||
\S{expandenvstrings} ExpandEnvStrings
|
||||
|
||||
\c user_var(output) string
|
||||
|
||||
Expands environment variables in "string" into the user variable $x. If error, the variable is set to empty, and the error flag is set.
|
||||
|
||||
\H{readenvstr} ReadEnvStr
|
||||
\S{readenvstr} ReadEnvStr
|
||||
|
||||
\c user_var(output) name
|
||||
|
||||
Reads from the environment string "name" and sets the value into the user variable $x. If there is an error reading the string, the user variable is set to empty, and the error flag is set.
|
||||
|
||||
\H{readinistr} ReadINIStr
|
||||
\S{readinistr} ReadINIStr
|
||||
|
||||
\c user_var(output) ini_filename section_name entry_name
|
||||
|
||||
Reads from entry_name in [section_name] of ini_filename and stores the value into user variable $x. The error flag will be set and $x will be assigned to an empty string if the entry is not found.
|
||||
|
||||
\H{readregdword} ReadRegDWORD
|
||||
\S{readregdword} ReadRegDWORD
|
||||
|
||||
\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.
|
||||
|
||||
\H{readregstr} ReadRegStr
|
||||
\S{readregstr} ReadRegStr
|
||||
|
||||
\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.
|
||||
|
||||
\H{writeinistr} WriteINIStr
|
||||
\S{writeinistr} WriteINIStr
|
||||
|
||||
\c ini_filename section_name entry_name value
|
||||
|
||||
Writes entry_name=value into [section_name] of ini_filename. The error flag is set if the string could not be written to the ini file.
|
||||
|
||||
\H{writeregbin} WriteRegBin
|
||||
\S{writeregbin} WriteRegBin
|
||||
|
||||
\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 (i.e. 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.
|
||||
|
||||
\H{writeregdword} WriteRegDWORD
|
||||
\S{writeregdword} WriteRegDWORD
|
||||
|
||||
\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.
|
||||
|
||||
\H{writeregstr} WriteRegStr
|
||||
\S{writeregstr} WriteRegStr
|
||||
|
||||
\c root_key subkey key_name value
|
||||
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
\C{secmanage} Section Management
|
||||
\H{secmanage} Section Management
|
||||
|
||||
\H{SectionSetFlags} SectionSetFlags
|
||||
\S{SectionSetFlags} SectionSetFlags
|
||||
|
||||
\c section_index section_flags
|
||||
|
||||
Sets the section's flags. The flag is a 32 bit integer. The low 30 bits represent whether the section is in the (as many as) 30 install types. The top bit (0x80000000) represents whether the section is currently enabled, and the second to top bit (0x40000000) represents whether or not the section is read-only. The error flag will be set if an out of range section is specified.
|
||||
|
||||
\H{SectionGetFlags} SectionGetFlags
|
||||
\S{SectionGetFlags} SectionGetFlags
|
||||
|
||||
\c section_index user_var(output)
|
||||
|
||||
Retrieves the section's flags. See above for a description of the flag. The error flag will be set if an out of range section is specified.
|
||||
|
||||
\H{SectionSetText} SectionSetText
|
||||
\S{SectionSetText} SectionSetText
|
||||
|
||||
\c section_index section_text
|
||||
|
||||
Sets the description for the section section_index. To set a subsection, you must use - at the beginning of the text. The error flag will be set if an out of range section is specified.
|
||||
|
||||
\H{SectionGetText} SectionGetText
|
||||
\S{SectionGetText} SectionGetText
|
||||
|
||||
\c section_index user_var(output)
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
\C{sections} Sections
|
||||
\H{sections} Sections
|
||||
|
||||
Each NSIS installer contains one or more Sections. Each These sections are created, modified, and ended with the following commands.
|
||||
|
||||
|
@ -8,34 +8,34 @@ Each NSIS installer contains one or more Sections. Each These sections are creat
|
|||
|
||||
\b If a section's name is 'Uninstall', then it is a special Uninstall Section.
|
||||
|
||||
\H{saddsize} AddSize
|
||||
\S{saddsize} AddSize
|
||||
|
||||
\c size_kb
|
||||
|
||||
Tells the installer that the current section needs an additional "size_kb" kilobytes of disk space. Only valid within a section (will have no effect outside of a section or in a function).
|
||||
|
||||
\H{ssection} Section
|
||||
\S{ssection} Section
|
||||
|
||||
\c [/e] [section_name] [section index output]
|
||||
|
||||
Begins annd opens a new section. If section_name is empty, omitted, or begins with a -, then it is a required section and the user will not see it, nor have the option of disabling it. If the section name is 'Uninstall', then it is a special Uninstall Section. If section index output is specified, the parameter will be !defined with the section index (that can be used for SectionSetText etc. If the section name begins with a !, the section will be displayed as bold. If /e is present, the sub sections of the section will be expanded by default.
|
||||
|
||||
\H{ssectionend} SectionEnd
|
||||
\S{ssectionend} SectionEnd
|
||||
|
||||
This command closes the current open section.
|
||||
|
||||
\H{ssectionin} SectionIn
|
||||
\S{ssectionin} SectionIn
|
||||
|
||||
\c insttype_index [insttype_index] [RO]
|
||||
|
||||
This command specifies which Install Types (see 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 it will always be set to install.
|
||||
|
||||
\H{ssubsection} SubSection
|
||||
\S{ssubsection} SubSection
|
||||
|
||||
\c [/e] Caption
|
||||
|
||||
This command inserts a subsection. The subsection must be close with SubSectionEnd, and should contain 1 or more Sections. If the subsection name begins with a !, the subsection will be displayed as bold. If /e is present, the sub sections of the sub section will be expanded by default.
|
||||
|
||||
\H{ssubsectionend} SubSectionEnd
|
||||
\S{ssubsectionend} SubSectionEnd
|
||||
|
||||
Closes a subsection opened with SubSection.
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
\C{stackinst} Stack Support
|
||||
\H{stackinst} Stack Support
|
||||
|
||||
\H{Exch} Exch
|
||||
\S{Exch} Exch
|
||||
|
||||
\c [user_var] | stack_index
|
||||
|
||||
When no parmater 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, the parameter specifies which item on the stack that the top of the stack is swapped with. If there are not enough items on the stack to accomplish the exchange, a fatal error will occur (to help you debug your code :).
|
||||
|
||||
\H{Pop} Pop
|
||||
\S{Pop} Pop
|
||||
|
||||
\c user_var(out)
|
||||
|
||||
Pops a string off of the stack into user variable $x. If the stack is empty, the error flag will be set.
|
||||
|
||||
\H{Push} Push
|
||||
\S{Push} Push
|
||||
|
||||
\c string
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
\C{stringinst} String Manipulation Instructions
|
||||
\H{stringinst} String Manipulation Instructions
|
||||
|
||||
\H{StrCpy} StrCpy
|
||||
\S{StrCpy} StrCpy
|
||||
|
||||
\c user_var(destination) str [maxlen] [start_offset]
|
||||
|
||||
Sets the user variable $x with str. Note that str can contain other variables, or the user variable being set (concatenating strings this way is possible, etc). If maxlen is specified, the string will be a maximum of maxlen characters (if maxlen is negative, the string will be truncated abs(maxlen) characters from the end). If start_offset is specified, the source is offset by it (if start_offset is negative, it will start abs(start_offset) from the end of the string).
|
||||
|
||||
\H{StrLen} StrLen
|
||||
\S{StrLen} StrLen
|
||||
|
||||
\c user_var(length output) str
|
||||
|
||||
|
|
75
Docs/src/ui.but
Normal file
75
Docs/src/ui.but
Normal file
|
@ -0,0 +1,75 @@
|
|||
\H{ui} User Interface Instructions
|
||||
|
||||
\S{BringToFront} BringToFront
|
||||
|
||||
Makes the installer window visible and brings it to the top of the window list (i.e. if a command was executed that shows itself in front of the installer, a BringToFront would bring the installer back in focus).
|
||||
|
||||
\S{createfont} CreateFont
|
||||
|
||||
\c user_var(handle output) face_name [height] [weight] [/ITALIC] [/UNDERLINE] [/STRIKE]
|
||||
|
||||
Creates a font and puts its handle into user_var. For more information about the different parameters have a look at \W{http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_8fp0.asp}{MSDN's page about the Win32 API function CreateFont()}.
|
||||
|
||||
\S{detailprint} DetailPrint
|
||||
|
||||
\c user_message
|
||||
|
||||
Adds the string "user_message" to the details view of the installer.
|
||||
|
||||
\S{findwindow} FindWindow
|
||||
|
||||
\c user_var(hwnd output) windowclass [windowtitle] [windowparent] [childafter]
|
||||
|
||||
Searches for a window. Behaves like the win32 FindWindowEx(). Seaches 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.
|
||||
|
||||
\S{getdlgitem} GetDlgItem
|
||||
|
||||
\c user_var(output) dialog item_id
|
||||
|
||||
Retrieves the handle of a control identified by item_id in the specified dialog box dialog. If you want to get the handle of a control on the inner dialog, first use FindWindow user_var(output) "#32770" "" $HWNDPARENT to get the handle of the inner dialog.
|
||||
|
||||
\S{hidewindow} HideWindow
|
||||
|
||||
Hides the installer.
|
||||
|
||||
\S{iswindow} IsWindow
|
||||
|
||||
\c HWND jump_if_window [jump_if_not_window]
|
||||
|
||||
If HWND is a window, Gotos jump_if_window, otherwise, Gotos jump_if_not_window (if specified).
|
||||
|
||||
\S{sendmessage} SendMessage
|
||||
|
||||
\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, 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. Here are a few example messages and their values:
|
||||
|
||||
\S{setautoclose} SetAutoClose
|
||||
|
||||
\c true|false
|
||||
|
||||
Overrides the default auto window-closing flag (specified for the installer using AutoCloseWindow, and false for the uninstaller). Specify 'true' to have the install window immediately disappear after the install has completed, or 'false' to make it require a manual close.
|
||||
|
||||
\S{setbrandingimage} SetBrandingImage
|
||||
|
||||
\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 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 AddBrandingImage you can get this size, by compiling your script and watching for AddBrandingImage output, it will tell you the size. SetBrandingImage will not work when called from .onInit!
|
||||
|
||||
\S{setdetailsview} SetDetailsView
|
||||
|
||||
\c show|hide
|
||||
|
||||
Shows or hides the details, depending on which parameter you pass. Overrides the default details view, which is set via ShowInstDetails
|
||||
|
||||
\S{setdetailsprint} SetDetailsPrint
|
||||
|
||||
\c none|listonly|textonly|both|lastused
|
||||
|
||||
Sets mode at which commands print their status. None has commands be quiet, listonly has status text only added to the listbox, textonly has status text only printed to the status bar, and both enables both (the default). For extracting many small files, textonly is recommended (especially on win9x with smooth scrolling enabled).
|
||||
|
||||
\S{setstaticbkcolor} SetStaticBkColor
|
||||
|
||||
\c hwnd color
|
||||
|
||||
Sets a background color for a static control. Use GetDlgItem to get the handle (HWND) of the static control.
|
|
@ -1,6 +1,6 @@
|
|||
\C{uninst} Uninstaller Instructions
|
||||
\H{uninst} Uninstaller Instructions
|
||||
|
||||
\H{WriteUninstaller} WriteUninstaller
|
||||
\S{WriteUninstaller} WriteUninstaller
|
||||
|
||||
\c [Path\\]exename.exe
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue