* PageEx - every page can be used everywhere and as many times as needed
* DirVar - easy way to add another dir page * default strings in the language file (Page directory is enough, no need for DirText) * strings from the language file are now LangStrings that can be used in the script * no more /LANG - one string for all languages * any lang strings can be used everywhere, installer or uninstaller (no un.) * no more unprocessed strings - variables can be used almost everywhere (except in licenseData and InstallDirRegKey) * DirText parm for browse dialog text * SetBkColor -> SetCtlColors - can now set text color too * fixed SetOutPath and File /r bug * fixed File /a /oname bug * added $_CLICK for pages * added quotes support in lang files (patch #752620) * extraction progress * separate RTL dialogs for RTL langs (improved RTL too) * InstallOptions RTL * StartMenu RTL * fixed RegDLL? * added IfSilent and SetSilent (SetSilent only works from .onInit) * fixed verify window (it never showed) (bug #792494) * fixed ifnewer readonly file problem (patch #783782) * fixed wininit.ini manipulation when there is another section after [rename] * fixed some ClearType issues * fixed a minor bug in the resource editor * fixed !ifdef/!endif stuff, rewritten * lots of code and comments clean ups * got rid of some useless exceptions handling and STL classes (still much more to go) * lots of optimizations, of course ;) * updated system.dll with support for GUID, WCHAR, and fast VTable calling (i.e. COM ready) * minor bug fixes git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2823 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
bb8879b7ae
commit
74ea2dc585
91 changed files with 5180 additions and 4101 deletions
|
@ -22,14 +22,14 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_ADDSIZE,"AddSize",1,0,"size_to_add_to_section_in_kb"},
|
||||
{TOK_AUTOCLOSE,"AutoCloseWindow",1,0,"(false|true)"},
|
||||
{TOK_BGGRADIENT,"BGGradient",0,3,"(off | [top_color [bottom_color [text_color]]])"},
|
||||
{TOK_BRANDINGTEXT,"BrandingText",1,2,"[/LANG=lang_id] [/TRIM(LEFT|RIGHT|CENTER)] installer_text"},
|
||||
{TOK_BRANDINGTEXT,"BrandingText",1,1,"[/TRIM(LEFT|RIGHT|CENTER)] installer_text"},
|
||||
{TOK_BRINGTOFRONT,"BringToFront",0,0,""},
|
||||
{TOK_CALL,"Call",1,0,"function_name | [:label_name]"},
|
||||
{TOK_CALLINSTDLL,"CallInstDLL",2,1,"dll_path_on_target.dll [/NOUNLOAD] function"},
|
||||
{TOK_CAPTION,"Caption",1,1,"[/LANG=lang_id] installer_caption"},
|
||||
{TOK_CHANGEUI,"ChangeUI",2,1,"/RTL (all|dlg_id) ui_file.exe"},
|
||||
{TOK_CAPTION,"Caption",1,0,"installer_caption"},
|
||||
{TOK_CHANGEUI,"ChangeUI",1,1,"[/RTL] (all|dlg_id) ui_file.exe"},
|
||||
{TOK_CLEARERRORS,"ClearErrors",0,0,""},
|
||||
{TOK_COMPTEXT,"ComponentText",0,4,"[/LANG=lang_id] [component_page_description] [component_subtext1] [component_subtext2]"},
|
||||
{TOK_COMPTEXT,"ComponentText",0,3,"[component_page_description] [component_subtext1] [component_subtext2]"},
|
||||
{TOK_GETDLLVERSION,"GetDLLVersion",3,0,"filename $(user_var: high output) $(user_var: low output)"},
|
||||
{TOK_GETDLLVERSIONLOCAL,"GetDLLVersionLocal",3,0,"localfilename $(user_var: high output) $(user_var: low output)"},
|
||||
{TOK_GETFILETIME,"GetFileTime",3,0,"file $(user_var: high output) $(user_var: low output)"},
|
||||
|
@ -46,8 +46,9 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_DELETEREGVALUE,"DeleteRegValue",3,0,"root_key subkey entry_name\n root_key=(HKCR|HKLM|HKCU|HKU|HKCC|HKDD|HKPD)"},
|
||||
{TOK_DELETE,"Delete",1,1,"[/REBOOTOK] filespec"},
|
||||
{TOK_DETAILPRINT,"DetailPrint",1,0,"message"},
|
||||
{TOK_DIRTEXT,"DirText",0,4,"[/LANG=lang_id] [directory_page_description] [directory_page_subtext] [browse button text]"},
|
||||
{TOK_DIRTEXT,"DirText",0,3,"[directory_page_description] [directory_page_subtext] [browse_button_text] [browse_dlg_text]"},
|
||||
{TOK_DIRSHOW,"DirShow",1,0,"(show|hide)"},
|
||||
{TOK_DIRVAR,"DirVar",1,0,"$(user_var: dir in/out))"},
|
||||
{TOK_ROOTDIRINST,"AllowRootDirInstall",1,0,"(true|false)"},
|
||||
{TOK_CHECKBITMAP,"CheckBitmap",1,0,"local_bitmap.bmp"},
|
||||
{TOK_ENABLEWINDOW,"EnableWindow",2,0,"hwnd (1|0)"},
|
||||
|
@ -66,7 +67,7 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_FLUSHINI,"FlushINI",1,0,"ini_file"},
|
||||
{TOK_RESERVEFILE,"ReserveFile",1,-1,"[/nonfatal] [/r] file [file...]"},
|
||||
{TOK_FILECLOSE,"FileClose",1,0,"$(user_var: handle input)"},
|
||||
{TOK_FILEERRORTEXT,"FileErrorText",0,3,"[/LANG=lang_id] [text (can contain $0)] [text without ignore (can contain $0)]"},
|
||||
{TOK_FILEERRORTEXT,"FileErrorText",0,2,"[text (can contain $0)] [text without ignore (can contain $0)]"},
|
||||
{TOK_FILEOPEN,"FileOpen",3,0,"$(user_var: handle output) filename openmode\n openmode=r|w|a"},
|
||||
{TOK_FILEREAD,"FileRead",2,1,"$(user_var: handle input) $(user_var: text output) [maxlen]"},
|
||||
{TOK_FILEWRITE,"FileWrite",2,0,"$(user_var: handle input) text"},
|
||||
|
@ -78,18 +79,18 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_GETDLGITEM,"GetDlgItem",3,0,"$(user_var: handle output) dialog item_id"},
|
||||
{TOK_GETFULLPATHNAME,"GetFullPathName",2,1,"[/SHORT] $(user_var: result) path_or_file"},
|
||||
{TOK_GETTEMPFILENAME,"GetTempFileName",1,1,"$(user_var: name output) [base_dir]"},
|
||||
{TOK_GETWINTEXT,"GetWindowText",2,0,"$(user_var: handle output) hwnd"},
|
||||
{TOK_HIDEWINDOW,"HideWindow",0,0,""},
|
||||
{TOK_ICON,"Icon",1,0,"local_icon.ico"},
|
||||
{TOK_IFABORT,"IfAbort",1,1,"label_to_goto_if_abort [label_to_goto_if_no_abort]"},
|
||||
{TOK_IFERRORS,"IfErrors",1,1,"label_to_goto_if_errors [label_to_goto_if_no_errors]"},
|
||||
{TOK_IFFILEEXISTS,"IfFileExists",2,1,"filename label_to_goto_if_file_exists [label_to_goto_otherwise]"},
|
||||
{TOK_IFREBOOTFLAG,"IfRebootFlag",1,1,"jump_if_set [jump_if_not_set]"},
|
||||
{TOK_IFSILENT,"IfSilent",1,1,"jump_if_silent [jump_if_not_silent]"},
|
||||
{TOK_INSTALLDIRREGKEY,"InstallDirRegKey",3,0,"root_key subkey entry_name\n root_key=(HKCR|HKLM|HKCU|HKU|HKCC|HKDD|HKPD)"},
|
||||
{TOK_INSTCOLORS,"InstallColors",1,1,"(/windows | (foreground_color background_color))"},
|
||||
{TOK_INSTDIR,"InstallDir",1,0,"default_install_directory"},
|
||||
{TOK_INSTPROGRESSFLAGS,"InstProgressFlags",0,-1,"[flag [...]]\n flag={smooth|colored}"},
|
||||
{TOK_INSTTYPE,"InstType",1,1,"install_type_name | /NOCUSTOM | ([/LANG=lang_id] /CUSTOMSTRING=str) | /COMPONENTSONLYONCUSTOM"},
|
||||
{TOK_INSTTYPE,"InstType",1,0,"install_type_name | /NOCUSTOM | /CUSTOMSTRING=str | /COMPONENTSONLYONCUSTOM"},
|
||||
{TOK_INTOP,"IntOp",3,1,"$(user_var: result) val1 OP [val2]\n OP=(+ - * / % | & ^ ~ ! || &&)"},
|
||||
{TOK_INTCMP,"IntCmp",3,2,"val1 val2 jump_if_equal [jump_if_val1_less] [jump_if_val1_more]"},
|
||||
{TOK_INTCMPU,"IntCmpU",3,2,"val1 val2 jump_if_equal [jump_if_val1_less] [jump_if_val1_more]"},
|
||||
|
@ -97,10 +98,11 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_ISWINDOW,"IsWindow",2,1,"hwnd jump_if_window [jump_if_not_window]"},
|
||||
{TOK_GOTO,"Goto",1,0,"label"},
|
||||
{TOK_LANGSTRING,"LangString",3,0,"[un.]name lang_id string"},
|
||||
{TOK_LANGSTRINGUP,"LangStringUP",3,0,"[un.]name lang_id string"},
|
||||
{TOK_LICENSEDATA,"LicenseData",1,1,"[/LANG=lang_id] local_file_that_has_license_text.txt"},
|
||||
{TOK_LICENSEFORCESELECTION,"LicenseForceSelection",1,3,"[/LANG=lang_id] (checkbox [accept_text] | radiobuttons [accept_text] [decline_text] | off)"},
|
||||
{TOK_LICENSETEXT,"LicenseText",1,2,"[/LANG=lang_id] license_page_description [license_button_text]"},
|
||||
{TOK_LANGSTRINGUP,"LangStringUP",0,0,"obsolete, use LangString."},
|
||||
{TOK_LICENSEDATA,"LicenseData",1,0,"local_file_that_has_license_text | license_lang_string"},
|
||||
{TOK_LICENSEFORCESELECTION,"LicenseForceSelection",1,2,"(checkbox [accept_text] | radiobuttons [accept_text] [decline_text] | off)"},
|
||||
{TOK_LICENSELANGSTRING,"LicenseLangString",3,0,"name lang_id license_path"},
|
||||
{TOK_LICENSETEXT,"LicenseText",1,1,"license_page_description [license_button_text]"},
|
||||
{TOK_LICENSEBKCOLOR,"LicenseBkColor",1,0,"background_color"},
|
||||
{TOK_LOADNLF,"LoadLanguageFile",1,0,"language.nlf"},
|
||||
{TOK_LOGSET,"LogSet",1,0,"on|off"},
|
||||
|
@ -108,13 +110,16 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_MESSAGEBOX,"MessageBox",2,4,"mode messagebox_text [return_check label_to_goto_if_equal [return_check2 label2]]\n mode=modeflag[|modeflag[|modeflag[...]]]\n "
|
||||
"modeflag=(MB_ABORTRETRYIGNORE|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_YESNO|MB_YESNOCANCEL|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND|MB_RIGHT"},
|
||||
{TOK_NOP,"Nop",0,0,""},
|
||||
{TOK_NAME,"Name",1,1,"[/LANG=lang_id] installer_name"},
|
||||
{TOK_NAME,"Name",1,0,"installer_name"},
|
||||
{TOK_OUTFILE,"OutFile",1,0,"install_output.exe"},
|
||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||
{TOK_PAGE,"Page",1,5,"((custom [creator_function] [leave_function] [caption]) | ((license|components|directory|instfiles) [pre_function] [show_function] [leave_function])) [define_if_last]"},
|
||||
{TOK_PAGE,"Page",1,4,"((custom [creator_function] [leave_function] [caption]) | ((license|components|directory|instfiles|uninstConfirm) [pre_function] [show_function] [leave_function]))"},
|
||||
#else
|
||||
{TOK_PAGE,"Page",1,1,"license|components|directory|instfiles"},
|
||||
{TOK_PAGE,"Page",1,1,"license|components|directory|instfiles|uninstConfirm"},
|
||||
#endif
|
||||
{TOK_PAGECALLBACKS,"PageCallbacks",0,3,"([creator_function] [leave_function]) | ([pre_function] [show_function] [leave_function])"},
|
||||
{TOK_PAGEEX,"PageEx",1,0,"[un.](custom|uninstConfirm|license|components|directory|instfiles)"},
|
||||
{TOK_PAGEEXEND,"PageExEnd",0,0,""},
|
||||
{TOK_POP,"Pop",1,0,"$(user_var: output)"},
|
||||
{TOK_PUSH,"Push",1,0,"string"},
|
||||
{TOK_QUIT,"Quit",0,0,""},
|
||||
|
@ -147,7 +152,7 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_INSTTYPEGETTEXT,"InstTypeGetText",2,0,"insttype_index $(user_var: output flags)"},
|
||||
{TOK_SENDMESSAGE,"SendMessage",4,2,"hwnd message [wparam|STR:wParam] [lparam|STR:lParam] [$(user_var: return value)] [/TIMEOUT=X]"},
|
||||
{TOK_SETAUTOCLOSE,"SetAutoClose",1,0,"(false|true)"},
|
||||
{TOK_SETBKCOLOR,"SetBkColor",2,0,"hwnd color"},
|
||||
{TOK_SETCTLCOLORS,"SetCtlColors",2,1,"hwnd (branding | (text_color (transparent|bg_color)))"},
|
||||
{TOK_SETBRANDINGIMAGE,"SetBrandingImage",1,2,"[/IMGID=image_item_id_in_dialog] [/RESIZETOFIT] bitmap.bmp"},
|
||||
{TOK_SETCOMPRESS,"SetCompress",1,0,"(off|auto|force)"},
|
||||
{TOK_SETCOMPRESSOR,"SetCompressor",1,0,"(zlib|bzip2)"},
|
||||
|
@ -162,6 +167,7 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_SETPLUGINUNLOAD,"SetPluginUnload",1,0,"(manual|alwaysoff)"},
|
||||
{TOK_SETREBOOTFLAG,"SetRebootFlag",1,0,"true|false"},
|
||||
{TOK_SETSHELLVARCONTEXT,"SetShellVarContext",1,0,"all|current"},
|
||||
{TOK_SETSILENT,"SetSilent",1,0,"silent|normal"},
|
||||
{TOK_SHOWDETAILS,"ShowInstDetails",1,0,"(hide|show|nevershow)"},
|
||||
{TOK_SHOWDETAILSUNINST,"ShowUninstDetails",1,0,"(hide|show|nevershow)"},
|
||||
{TOK_SHOWWINDOW,"ShowWindow",2,0,"hwnd show_state"},
|
||||
|
@ -171,17 +177,17 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_STRCMP,"StrCmp",3,1,"str1 str2 label_to_goto_if_equal [label_to_goto_if_not]"},
|
||||
{TOK_STRCPY,"StrCpy",2,2,"$(user_var: output) str [maxlen] [startoffset]"},
|
||||
{TOK_STRLEN,"StrLen",2,0,"$(user_var: length output) str"},
|
||||
{TOK_SUBCAPTION,"SubCaption",2,1,"[/LANG=lang_id] page_number(0-4) new_subcaption"},
|
||||
{TOK_SUBCAPTION,"SubCaption",2,0,"page_number(0-4) new_subcaption"},
|
||||
{TOK_UNINSTALLEXENAME,"UninstallExeName",0,0,"no longer supported, use WriteUninstaller from section."},
|
||||
{TOK_UNINSTCAPTION,"UninstallCaption",1,1,"[/LANG=lang_id] uninstaller_caption"},
|
||||
{TOK_UNINSTCAPTION,"UninstallCaption",1,0,"uninstaller_caption"},
|
||||
{TOK_UNINSTICON,"UninstallIcon",1,0,"icon_on_local_system.ico"},
|
||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||
{TOK_UNINSTPAGE,"UninstPage",1,5,"((custom [creator_function] [leave_function] [caption]) | ((uninstConfirm|instfiles) [pre_function] [show_function] [leave_function])) [define_if_last]"},
|
||||
{TOK_UNINSTPAGE,"UninstPage",1,4,"((custom [creator_function] [leave_function] [caption]) | ((license|components|directory|instfiles|uninstConfirm) [pre_function] [show_function] [leave_function]))"},
|
||||
#else
|
||||
{TOK_UNINSTPAGE,"UninstPage",1,1,"uninstConfirm|instfiles"},
|
||||
{TOK_UNINSTPAGE,"UninstPage",1,1,"license|components|directory|instfiles|uninstConfirm"},
|
||||
#endif
|
||||
{TOK_UNINSTTEXT,"UninstallText",1,2,"[/LANG=lang_id] Text_to_go_on_uninstall page [subtext]"},
|
||||
{TOK_UNINSTSUBCAPTION,"UninstallSubCaption",2,1,"[/LANG=lang_id] page_number(0-2) new_subcaption"},
|
||||
{TOK_UNINSTTEXT,"UninstallText",1,1,"Text_to_go_on_uninstall_page [subtext]"},
|
||||
{TOK_UNINSTSUBCAPTION,"UninstallSubCaption",2,0,"page_number(0-2) new_subcaption"},
|
||||
{TOK_UNREGDLL,"UnRegDLL",1,0,"dll_path_on_target.dll"},
|
||||
// useless - {TOK_USEOUTERUIITEM,"UseOuterUIItem",2,0,"item id"},
|
||||
{TOK_WINDOWICON,"WindowIcon",1,0,"on|off"},
|
||||
|
@ -207,18 +213,18 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_P_WARNING,"!warning",0,1,"[warning_message]"},
|
||||
{TOK_P_ERROR,"!error",0,1,"[error_message]"},
|
||||
|
||||
{TOK_P_VERBOSE,"!verbose",1,0,"verbose_level"},
|
||||
{TOK_P_VERBOSE,"!verbose",1,0,"verbose_level | push | pop"},
|
||||
|
||||
{TOK_P_MACRO,"!macro",1,-1,"macroname [parms ...]"},
|
||||
{TOK_P_MACROEND,"!macroend",0,0,""},
|
||||
{TOK_P_INSERTMACRO,"!insertmacro",1,-1,"macroname [parms ...]"},
|
||||
|
||||
{TOK_MISCBUTTONTEXT,"MiscButtonText",0,5,"[/LANG=lang_id] [back button text] [next button text] [cancel button text] [close button text]"},
|
||||
{TOK_DETAILSBUTTONTEXT,"DetailsButtonText",0,2,"[/LANG=lang_id] [details button text]"},
|
||||
{TOK_UNINSTBUTTONTEXT,"UninstallButtonText",0,2,"[/LANG=lang_id] [uninstall button text]"},
|
||||
{TOK_INSTBUTTONTEXT,"InstallButtonText",0,2,"[/LANG=lang_id] [install button text]"},
|
||||
{TOK_SPACETEXTS,"SpaceTexts",0,3,"[/LANG=lang_id] [space required text] [space available text]"},
|
||||
{TOK_COMPLETEDTEXT,"CompletedText",0,2,"[/LANG=lang_id] [completed text]"},
|
||||
{TOK_MISCBUTTONTEXT,"MiscButtonText",0,4,"[back button text] [next button text] [cancel button text] [close button text]"},
|
||||
{TOK_DETAILSBUTTONTEXT,"DetailsButtonText",0,1,"[details button text]"},
|
||||
{TOK_UNINSTBUTTONTEXT,"UninstallButtonText",0,1,"[uninstall button text]"},
|
||||
{TOK_INSTBUTTONTEXT,"InstallButtonText",0,1,"[install button text]"},
|
||||
{TOK_SPACETEXTS,"SpaceTexts",0,2,"none | ([space required text] [space available text])"},
|
||||
{TOK_COMPLETEDTEXT,"CompletedText",0,2,"[completed text]"},
|
||||
|
||||
{TOK_GETFUNCTIONADDR,"GetFunctionAddress",2,0,"output function"},
|
||||
{TOK_GETLABELADDR,"GetLabelAddress",2,0,"output label"},
|
||||
|
@ -231,8 +237,8 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
// Added by ramon 3 jun 2003
|
||||
{TOK_DEFVAR,"Var",1,0,"VarName"},
|
||||
// Added by ramon 6 jun 2003
|
||||
{TOK_VI_ADDKEY,"VIAddVersionKey", 2, 1, "[/LANG=lang_id] keyname value"},
|
||||
{TOK_VI_SETPRODUCTVERSION,"VIProductVersion", 1, 0, "[version_string_X.X.X.X]"},
|
||||
{TOK_VI_ADDKEY,"VIAddVersionKey",2,1,"/LANG=lang_id keyname value"},
|
||||
{TOK_VI_SETPRODUCTVERSION,"VIProductVersion",1,0,"[version_string_X.X.X.X]"},
|
||||
};
|
||||
|
||||
void CEXEBuild::print_help(char *commandname)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue