Search:   Help

Developers' side bar

Selected categories

Edit

Shared groups

Links

NSISScriptingReference

<< | Page list | >>

Links to help/description of the NSIS instructions used in the LyX Windows installers.

Table of contents (hide)

  1.   1.  Unclassified statements
    1.   1.1  System::Call
    2.   1.2  UserInfo::GetAccountType
    3.   1.3  UserInfo::GetName - - U only
    4.   1.4  Banner::destroy - - J only
    5.   1.5  Banner::show - - J only
    6.   1.6  FindProcDLL:FindProc - - U only
    7.   1.7  InetLoad::load -
    8.   1.8  nsExec::Exec - - J only
    9.   1.9  nsExec::ExecToStack - - J only
  2.   2.  Pages
    1.   2.1  Page - pages
  3.   3.  Sections
    1.   3.1  AddSize - section command
    2.   3.2  Section - section command
    3.   3.3  SectionEnd - section command
    4.   3.4  SectionIn - section command - U only
  4.   4.  Installer attributes
    1.   4.1  BrandingText - general attribute
    2.   4.2  Caption - general attribute - J only
    3.   4.3  CRCCheck - general attribute - U only
    4.   4.4  Icon - general attribute - J only
    5.   4.5  InstallDir - general attribute
    6.   4.6  LicenseData - general attribute - U only
    7.   4.7  Name - general attribute
    8.   4.8  OutFile - general attribute
    9.   4.9  ShowInstDetails - general attribute - J only
    10.   4.10  SilentInstall - general attribute - J only
    11.   4.11  SetCompressor - compiler flags
    12.   4.12  VIAddVersionKey - version information - J only
    13.   4.13  VIProductVersion - version information - J only
  5.   5.  Pre-compiler statements
    1.   5.1  addplugindir - - J only
    2.   5.2  define
    3.   5.3  ifdef
    4.   5.4  ifndef
    5.   5.5  include
    6.   5.6  insertmacro
    7.   5.7  macro
    8.   5.8  macroend
    9.   5.9  system - J only
    10.   5.10  undef
  6.   6.  Macros used for high level flow control and logic
    1.   6.1  ${do}
    2.   6.2  ${loopuntil}
    3.   6.3  ${loop} - - J only
    4.   6.4  ${if}
    5.   6.5  ${orif}
    6.   6.6  ${andif}
    7.   6.7  ${elseif} - - J only
    8.   6.8  ${else}
    9.   6.9  ${endif}
    10.   6.10  ${unless} - - J only
    11.   6.11  ${andunless} - - J only
    12.   6.12  ${for} - - U only
    13.   6.13  ${exitfor} - - U only
    14.   6.14  ${next} - - U only
  7.   7.  Instructions (commands)
    1.   7.1  Var - User variables
    2.   7.2  Function - function commands
    3.   7.3  FunctionEnd - function commands
    4.   7.4  Delete - basic
    5.   7.5  Exec - basic - U only
    6.   7.6  ExecShell - basic
    7.   7.7  ExecWait - basic
    8.   7.8  File - basic
    9.   7.9  Rename - basic - U only
    10.   7.10  ReserveFile - basic
    11.   7.11  RMDir - basic
    12.   7.12  SetOutPath - basic
    13.   7.13  DeleteRegKey - registry, INI, file instructions
    14.   7.14  DeleteRegValue - registry, INI, file instructions - U only
    15.   7.15  EnumRegKey - registry, INI, file instructions
    16.   7.16  EnumRegValue - registry, INI, file instructions - U only
    17.   7.17  ReadRegStr - registry, INI, file instructions
    18.   7.18  WriteRegDWORD - registry, INI, file instructions - U only
    19.   7.19  WriteRegStr - registry, INI, file instructions
    20.   7.20  CallInstDLL - general purpose - J only
    21.   7.21  CopyFiles - general purpose
    22.   7.22  CreateDirectory - general purpose - U only
    23.   7.23  CreateShortCut - general purpose
    24.   7.24  GetFileTime - general purpose - J only
    25.   7.25  GetFullPathName - general purpose - J only
    26.   7.26  Abort - flow control
    27.   7.27  Call - flow control
    28.   7.28  ClearErrors - flow control - U only
    29.   7.29  Goto - flow control
    30.   7.30  IfErrors - flow control - U only
    31.   7.31  IfFileExists - flow control - U only
    32.   7.32  IfSilent - flow control - J only
    33.   7.33  IntCmp - flow control - U only
    34.   7.34  MessageBox - flow control
    35.   7.35  Return - flow control - U only
    36.   7.36  Quit - flow control - J only
    37.   7.37  StrCmp - flow control
    38.   7.38  FileClose - File instructions - U only
    39.   7.39  FileOpen - file instructions
    40.   7.40  FileRead - file instructions - U only
    41.   7.41  FileWrite - file instructions
    42.   7.42  FindClose - file instructions - U only
    43.   7.43  FindFirst - file instructions - U only
    44.   7.44  FindNext - file instructions - U only
    45.   7.45  WriteUninstaller - uninstaller instructions
    46.   7.46  InitPluginsDir - miscellanous instructions - J only
    47.   7.47  SetShellVarContext - miscellanous instructions
    48.   7.48  Sleep - miscellanous instructions - J only
    49.   7.49  StrCpy - string manipulation
    50.   7.50  StrLen - string manipulation
    51.   7.51  Exch - stack support
    52.   7.52  Pop - stack support
    53.   7.53  Push - stack support
    54.   7.54  IntOp - integer support
    55.   7.55  SectionSetFlags - section management - U only
    56.   7.56  SectionGetFlags - section management - U only
    57.   7.57  SectionSetText - section management - U only
    58.   7.58  SectionSetSize - section management - J only
    59.   7.59  SectionGetSize - section management - J only
    60.   7.60  BringToFront - user interface - J only
    61.   7.61  DetailPrint - user interface - J only
    62.   7.62  EnableWindow - user interface - J only
    63.   7.63  FindWindow - user interface - J only
    64.   7.64  GetDlgItem - user interface - J only
    65.   7.65  HideWindow - user interface
    66.   7.66  SetAutoClose - user interface - U only
    67.   7.67  SetDetailsPrint - user interface - J only
    68.   7.68  ShowWindow - user interface - J only
    69.   7.69  LangString - multiple language - J only
  8.   8.  Macros used as instructions
    1.   8.1  ${StrStr} - - J only
    2.   8.2  ${GetParent} - - J only
    3.   8.3  ${VersionCompare} - - J only
    4.   8.4  ${WordFind2X} - - J only
  9.   9.  Macros used as instructions - created by J
    1.   9.1  ${LanguageStringAdd} - - J only
    2.   9.2  ${REG_FILEEXT} - - J only
    3.   9.3  ${FILE}<filename> - - - J only
    4.   9.4  ${REG_FILETYPE}<???> - - J only
    5.   9.5  ${REG_UNINSTALL} - - J only
  10. 10.  Macros used as instructions - created by U
    1. 10.1  ${CreateApplicationAssociation} - - U only
    2. 10.2  ${CreateFileAssociation} - - U only
    3. 10.3  ${RefreshShellIcons} - - U only
    4. 10.4  ${RemoveFileAssociation} - - U only

1.  Unclassified statements

The following are statements found in J's and U's code that I so far haven't located any documentation for:

1.1  System::Call

Example:

System::Call "kernel32::GetUserDefaultUILanguage()i.R0"

1.2  UserInfo::GetAccountType

Example:

UserInfo::GetAccountType

1.3  UserInfo::GetName - - U only

Example:

UserInfo::GetName

1.4  Banner::destroy - - J only

Example:

Banner::destroy

1.5  Banner::show - - J only

Example:

Banner::show /NOUNLOAD "Preparing wizard"

1.6  FindProcDLL:FindProc - - U only

Example:

FindProcDLL::FindProc "${INSTALLER2_EXE}"

1.7  InetLoad::load -

Example:

InetLoad::load "${DOWNLOAD_${COMPONENT}}" "$PLUGINSDIR\${COMPONENT}Setup.exe" /END

1.8  nsExec::Exec - - J only

Example:

nsExec::Exec '"$PathLaTeX\initexmf.exe" --update-fndb'

1.9  nsExec::ExecToStack - - J only

Example:

nsExec::ExecToStack "initexmf.exe --report"

2.  Pages

See NSIS_SR:#4.5

2.1  Page - pages

See NSIS_SR:#4.5.4 and NSIS_SR:#4.5

3.  Sections

3.1  AddSize - section command

See NSIS_SR:#4.6.1.1

3.2  Section - section command

See NSIS_SR:#4.6.1.2

3.3  SectionEnd - section command

See NSIS_SR:#4.6.1.3

3.4  SectionIn - section command - U only

See NSIS_SR:#4.6.1.4

4.  Installer attributes

4.1  BrandingText - general attribute

See NSIS_SR:#4.8.1.6

4.2  Caption - general attribute - J only

See NSIS_SR:#4.8.1.7

4.3  CRCCheck - general attribute - U only

See NSIS_SR:#4.8.1.12

4.4  Icon - general attribute - J only

See NSIS_SR:#4.8.1.18

4.5  InstallDir - general attribute

See NSIS_SR:#4.8.1.21

4.6  LicenseData - general attribute - U only

See NSIS_SR:#4.8.1.26

4.7  Name - general attribute

See NSIS_SR:#4.8.1.30

4.8  OutFile - general attribute

See NSIS_SR:#4.8.1.31

4.9  ShowInstDetails - general attribute - J only

See NSIS_SR:#4.8.1.34

4.10  SilentInstall - general attribute - J only

See NSIS_SR:#4.8.1.36

4.11  SetCompressor - compiler flags

See NSIS_SR:#4.8.2.4

4.12  VIAddVersionKey - version information - J only

See NSIS_SR:#4.8.3.1

4.13  VIProductVersion - version information - J only

See NSIS_SR:#4.8.3.2

5.  Pre-compiler statements

5.1  !addplugindir - - J only

5.2  !define

5.3  !ifdef

5.4  !ifndef

5.5  !include

5.6  !insertmacro

5.7  !macro

5.8  !macroend

5.9  !system - J only

5.10  !undef

6.  Macros used for high level flow control and logic

I'm hoping the meaning of these macros are obvious - no link to documentation yet.

6.1  ${do}

6.2  ${loopuntil}

6.3  ${loop} - - J only

6.4  ${if}

6.5  ${orif}

6.6  ${andif}

6.7  ${elseif} - - J only

6.8  ${else}

6.9  ${endif}

6.10  ${unless} - - J only

6.11  ${andunless} - - J only

6.12  ${for} - - U only

6.13  ${exitfor} - - U only

6.14  ${next} - - U only

7.  Instructions (commands)

7.1  Var - User variables

See NSIS_SR:#4.2.1.1

7.2  Function - function commands

See NSIS_SR:#4.7.1.1

7.3  FunctionEnd - function commands

See NSIS_SR:#4.7.1.2

7.4  Delete - basic

See NSIS_SR:#4.9.1.1

7.5  Exec - basic - U only

See NSIS_SR:#4.9.1.2

7.6  ExecShell - basic

See NSIS_SR:#4.9.1.3

7.7  ExecWait - basic

See NSIS_SR:#4.9.1.4

7.8  File - basic

See NSIS_SR:#4.9.1.5

7.9  Rename - basic - U only

See NSIS_SR:#4.9.1.6

7.10  ReserveFile - basic

See NSIS_SR:#4.9.1.7

7.11  RMDir - basic

See NSIS_SR:#4.9.1.8

7.12  SetOutPath - basic

See NSIS_SR:#4.9.1.9

7.13  DeleteRegKey - registry, INI, file instructions

See NSIS_SR:#4.9.2.3

7.14  DeleteRegValue - registry, INI, file instructions - U only

See NSIS_SR:#4.9.2.4

7.15  EnumRegKey - registry, INI, file instructions

See NSIS_SR:#4.9.2.5

7.16  EnumRegValue - registry, INI, file instructions - U only

See NSIS_SR:#4.9.2.6

7.17  ReadRegStr - registry, INI, file instructions

See NSIS_SR:#4.9.2.12

7.18  WriteRegDWORD - registry, INI, file instructions - U only

See NSIS_SR:#4.9.2.15

7.19  WriteRegStr - registry, INI, file instructions

See NSIS_SR:#4.9.2.16

7.20  CallInstDLL - general purpose - J only

See NSIS_SR:#4.9.3.1

7.21  CopyFiles - general purpose

See NSIS_SR:#4.9.3.2

7.22  CreateDirectory - general purpose - U only

See NSIS_SR:#4.9.3.3

7.23  CreateShortCut - general purpose

See NSIS_SR:#4.9.3.4

7.24  GetFileTime - general purpose - J only

See NSIS_SR:#4.9.3.7

7.25  GetFullPathName - general purpose - J only

See NSIS_SR:#4.9.3.9

7.26  Abort - flow control

See NSIS_SR:#4.9.4.1

7.27  Call - flow control

See NSIS_SR:#4.9.4.2

7.28  ClearErrors - flow control - U only

See NSIS_SR:#4.9.4.3

7.29  Goto - flow control

See NSIS_SR:#4.9.4.7

7.30  IfErrors - flow control - U only

See NSIS_SR:#4.9.4.9

7.31  IfFileExists - flow control - U only

See NSIS_SR:#4.9.4.10

7.32  IfSilent - flow control - J only

See NSIS_SR:#4.9.4.12

7.33  IntCmp - flow control - U only

See NSIS_SR:#4.9.4.13

7.34  MessageBox - flow control

See NSIS_SR:#4.9.4.15

7.35  Return - flow control - U only

See NSIS_SR:#4.9.4.16

7.36  Quit - flow control - J only

See NSIS_SR:#4.9.4.17

7.37  StrCmp - flow control

See NSIS_SR:#4.9.4.19

7.38  FileClose - File instructions - U only

See NSIS_SR:#4.9.5.1

hmm... shouldn't J also close the file?

7.39  FileOpen - file instructions

See NSIS_SR:#4.9.5.2

7.40  FileRead - file instructions - U only

See NSIS_SR:#4.9.5.3

7.41  FileWrite - file instructions

See NSIS_SR:#4.9.5.6

7.42  FindClose - file instructions - U only

See NSIS_SR:#4.9.5.8

7.43  FindFirst - file instructions - U only

See NSIS_SR:#4.9.5.9

7.44  FindNext - file instructions - U only

See NSIS_SR:#4.9.5.10

7.45  WriteUninstaller - uninstaller instructions

NSIS_SR:#4.9.6.1

7.46  InitPluginsDir - miscellanous instructions - J only

NSIS_SR:#4.9.7.3

7.47  SetShellVarContext - miscellanous instructions

See NSIS_SR:#4.9.7.6

7.48  Sleep - miscellanous instructions - J only

See NSIS_SR:#4.9.7.7

7.49  StrCpy - string manipulation

See NSIS_SR:#4.9.8.1

7.50  StrLen - string manipulation

See NSIS_SR:#4.9.8.2

7.51  Exch - stack support

See NSIS_SR:#4.9.9.1

7.52  Pop - stack support

See NSIS_SR:#4.9.9.2

7.53  Push - stack support

See NSIS_SR:#4.9.9.3

7.54  IntOp - integer support

See NSIS_SR:#4.9.10.2

7.55  SectionSetFlags - section management - U only

See NSIS_SR:#4.9.13.1

7.56  SectionGetFlags - section management - U only

See NSIS_SR:#4.9.13.2

7.57  SectionSetText - section management - U only

See NSIS_SR:#4.9.13.3

7.58  SectionSetSize - section management - J only

See NSIS_SR:#4.9.13.7

7.59  SectionGetSize - section management - J only

See NSIS_SR:#4.9.13.8

7.60  BringToFront - user interface - J only

See NSIS_SR:#4.9.14.1

7.61  DetailPrint - user interface - J only

See NSIS_SR:#4.9.14.3

7.62  EnableWindow - user interface - J only

See NSIS_SR:#4.9.14.4

7.63  FindWindow - user interface - J only

See NSIS_SR:#4.9.14.5

7.64  GetDlgItem - user interface - J only

See NSIS_SR:#4.9.14.6

7.65  HideWindow - user interface

See NSIS_SR:#4.9.14.7

7.66  SetAutoClose - user interface - U only

See NSIS_SR:#4.9.14.11

7.67  SetDetailsPrint - user interface - J only

See NSIS_SR:#4.9.14.14

7.68  ShowWindow - user interface - J only

See NSIS_SR:#4.9.14.17

7.69  LangString - multiple language - J only

See NSIS_SR:#4.9.15.2

Hmm... according to section 4.4, LangString is executed at compile time. Why is it sorted here then?

Ask Joost if this is really an attribute?

8.  Macros used as instructions

The following are probably macros that have been used as instructions. I think they come from some standard libraries.

8.1  ${StrStr} - - J only

8.2  ${GetParent} - - J only

8.3  ${VersionCompare} - - J only

8.4  ${WordFind2X} - - J only

9.  Macros used as instructions - created by J

There are probably many more macros...

9.1  ${LanguageStringAdd} - - J only

9.2  ${REG_FILEEXT} - - J only

9.3  ${FILE}<filename> - - - J only

tempfile.py"

9.4  ${REG_FILETYPE}<???> - - J only

Example:

${REG_FILETYPE}\DefaultIcon" "" "$INSTDIR\bin\lyx_doc_32x32.ico"

9.5  ${REG_UNINSTALL} - - J only

10.  Macros used as instructions - created by U

There are probably many more macros...

10.1  ${CreateApplicationAssociation} - - U only

10.2  ${CreateFileAssociation} - - U only

10.3  ${RefreshShellIcons} - - U only

10.4  ${RemoveFileAssociation} - - U only


Category: NSIS, Development, Windows installer

Edit - History - Print - Recent Changes - All Recent Changes - Search
Page last modified on 2007-04-07 20:01 UTC