рд╕рднреА рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рд╢реБрднрдХрд╛рдордирд╛рдПрдВ :)рдЯрд╛рд░рдЧреЗрдЯ рд╣рдм рд▓реЗрдЦ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ ... - рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╖рдпрдЧрдд рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд "рд╕реА" рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдкрд╛рдардХ рд╕рдмрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИредрд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп
NSIS
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ / рдЕрдирдЗрдВрд╕реНрдЯрд╛рд▓рд░ рд▓рд┐рдЦрддреЗ рд╕рдордп рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк редрдЫреЛрдЯрд╛ рд╕рд╛ рдкрд░рд┐рдЪрдп
Nsis рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдкрд╛рд╕ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ 20 рд╣реИрдВ: $ 0- $ 9 рдФрд░ $ R0- $ R9редрдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓рдХреНрд╖реНрдп рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░ рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ, рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА nsis рдЪрд░ рдХрд╛ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░рд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рд╡реЗ рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдХреНрд╡рд╛рд▓реАрдлрд╛рдпрд░ рдХреЙрд╕реНрдЯ (C / C ++ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП) рдХреЗ рд╕рд╛рде:!define variable1 ''value 1''
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:- рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдХрд╛ рд╕реНрдерд┐рд░ рдЪрд░;
- рдШреЛрд╖рдгрд╛ рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ;
- рд╕рдВрдкрд░реНрдХ рд╡рд┐рдзрд┐: $ {variable1}
Var variable2
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:- рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдХрд╛ рдЧрддрд┐рд╢реАрд▓ рдЪрд░;
- рдпрд╣ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдХрд╣реАрдВ рднреА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реА рдХреЙрд▓ рдХреЗ рдКрдкрд░;
- рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдХрдИ рдмрд╛рд░ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдмреНрд▓реЙрдХ рдФрд░ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рдЕрдВрджрд░;
- рдкрд╣реБрдБрдЪ рд╡рд┐рдзрд┐: $ variable2
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдереИрддрд┐рдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рдЪрд░ рдХреЗ рд▓рдХреНрд╖рд┐рдд рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдЬрд╝рд░реВрд░рдд рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ (рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ "рдЙрдЪрд┐рдд" рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛ рдХреЗрд╡рд▓ рдХреЛрдб рдХреЛ рд░реЛрдХрдирд╛ рд╣реЛрдЧрд╛редрд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг
рд▓реЗрдХрд┐рди рдкрд░реЗрд╢рд╛рдиреА рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рд╣рдореЗрд╢рд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
Function F1
StrCpy $0 "vladimir"
FunctionEnd
Function F2
StrCpy $0 "alexei"
Call F1
${If} $0 == "alexei" ;
;
${EndIf}
FunctionEnd
рдФрд░ рдЖрдк рдЗрд╕рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ nsis рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛рд░реАрдЧрд░реЛрдВ рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ:- рдХрд┐рд╕реА рдиреЗ рдмрд╕ рд╕рднреА рдЪрд░ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦрд╛ (рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХ рд╕реНрдорд╛рд░рдХ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ);
- рдХрд┐рд╕реА рдиреЗ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ, рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╕реНрдЯреИрдХ рдкрд░ рдкреБрд╢ рдХрд┐рдпрд╛, рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж рд╡реЗ рдкреЙрдк рдХреЙрд▓ рдХрд░рдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдореВрд▓реНрдп рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ;
- рдФрд░ рдХрд┐рд╕реА рдиреЗ рд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд░ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИред
рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрди рд╕рднреА рдХреЛ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рддрдВрддреНрд░ рдХреА рдХрдореА рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИредрдпрд╣рд╛рдБ рдореИрдВ рдЦреБрдж рдХреЛ рдЙрд╕реЗ (рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ) рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реВрдВредрд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, NSISList рдХрд╛ рд▓рд┐рдВрдХ рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ рд╕реВрдЪреА-рдкреНрд░рдХрд╛рд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдХрд┐ рд╕реА ++ рдореЗрдВ рд╕реВрдЪреА :: рд╕реА + + рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИредрджреВрд╕рд░рд╛ рдЪрд░рдг рд╕рдорд╕реНрдпрд╛-рд╕рдорд╛рдзрд╛рди рддрдВрддреНрд░ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИ :
!verbose 3
!include NSISList.nsh ; *
!define InitDump "!insertmacro _InitDump"
!macro _InitDump
!ifdef __UNINSTALL__
Call un.InitDump
!else
Call InitDump
!endif
!macroend
!macro Func_InitDump un
Function ${un}InitDump
# $0-$9
${List.Create} d0
${List.Create} d1
${List.Create} d2
${List.Create} d3
${List.Create} d4
${List.Create} d5
${List.Create} d6
${List.Create} d7
${List.Create} d8
${List.Create} d9
# $R0-$R10
${List.Create} dR0
${List.Create} dR1
${List.Create} dR2
${List.Create} dR3
${List.Create} dR4
${List.Create} dR5
${List.Create} dR6
${List.Create} dR7
${List.Create} dR8
${List.Create} dR9
FunctionEnd
!macroend
!insertmacro Func_InitDump ""
!insertmacro Func_InitDump "un."
!define Dump "!insertmacro _Dump"
!macro _Dump
!ifdef __UNINSTALL__
Call un.Dump
!else
Call Dump
!endif
!macroend
!macro Func_Dump un
Function ${un}Dump
# $0-$9
${List.Add} d0 $0
${List.Add} d1 $1
${List.Add} d2 $2
${List.Add} d3 $3
${List.Add} d4 $4
${List.Add} d5 $5
${List.Add} d6 $6
${List.Add} d7 $7
${List.Add} d8 $8
${List.Add} d9 $9
# R0-R9
${List.Add} dR0 $R0
${List.Add} dR1 $R1
${List.Add} dR2 $R2
${List.Add} dR3 $R3
${List.Add} dR4 $R4
${List.Add} dR5 $R5
${List.Add} dR6 $R6
${List.Add} dR7 $R7
${List.Add} dR8 $R8
${List.Add} dR9 $R9
FunctionEnd
!macroend
!insertmacro Func_Dump ""
!insertmacro Func_Dump "un."
!define Undump "!insertmacro _Undump"
!macro _Undump
!ifdef __UNINSTALL__
Call un.Undump
!else
Call Undump
!endif
!macroend
!macro Func_Undump un
Function ${un}Undump
# $0-$9
${List.Pop} $0 d0
${List.Pop} $1 d1
${List.Pop} $2 d2
${List.Pop} $3 d3
${List.Pop} $4 d4
${List.Pop} $5 d5
${List.Pop} $6 d6
${List.Pop} $7 d7
${List.Pop} $8 d8
${List.Pop} $9 d9
# R0-R9
${List.Pop} $R0 dR0
${List.Pop} $R1 dR1
${List.Pop} $R2 dR2
${List.Pop} $R3 dR3
${List.Pop} $R4 dR4
${List.Pop} $R5 dR5
${List.Pop} $R6 dR6
${List.Pop} $R7 dR7
${List.Pop} $R8 dR8
${List.Pop} $R9 dR9
FunctionEnd
!macroend
!insertmacro Func_Undump ""
!insertmacro Func_Undump "un."
рдФрд░ рддреАрд╕рд░рд╛ рдЪрд░рдг рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╡рд┐рд╡рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:рдкрд┐рдЫрд▓реЗ рдореБрдЦреНрдп рдХреЛрдб рдЯрд┐рдкреНрдкрдгреА рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдирд┐рдпрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдФрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ $ 0- $ 9, $ R0 - $ R9 рдХреЛ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЦрддрд░реЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП - рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХ рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рд╕реЗредрдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:- рдПрдл 1 рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реАрдзреЗ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ,
Call F1
рдФрд░ рдореИрдХреНрд░реЛ рд░реИрдкрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ${F1} [paramIn1 [paramIn2]...[paramInN]] [paramOut1 [paramOut2]...[paramOutM]]
- рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реАрдзреЗ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреА рдЗрд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
${Dump}
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдбрдВрдк рдореЗрдВ рдЪрд░ $ 0- $ 9, $ R0- $ R9 рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реБрдб рдХреЗ рддрд╣рдд рдЙрд╕рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕реВрдЪрд┐рдпрд╛рдВ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЙрд╕рдХреЗ рд▓рдХреНрд╖реНрдп рдЪрд░ рд╕реЗ рдмрд╛рдВрдзрд╛ рдЧрдпрд╛ рд╣реИ; - рд╕реНрдЯреИрдХ рдкрд░ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рднреА рд▓рдХреНрд╖реНрдп рдЪрд░
Push ${paramIn1} Push ${paramIn2} ... Push ${paramInN}
(рдпрджрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ); - рд╕рдорд╛рд░реЛрд╣ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛;
- рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдиреЗ рддрд░реНрдХ рдФрд░ рдирд┐рдХрд╛рд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛;
- рдкреБрдХрд╛рд░ рд╣реЛрдЧреА
${Undump}
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, $ {Dump} рдХреЗ рдЕрдВрддрд┐рдо рдХреЙрд▓ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛; - рд╕реНрдЯреИрдХ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рдгрд╛рдо рдХреЛ рд▓реЛрдб рдХрд░рдирд╛
Pop ${paramOut1} Pop ${paramOut2} ... Pop ${paramOutM}
(рдпрджрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ); - рдПрдл 1 рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдореИрдХреНрд░реЛ рдЖрд╡рд░рдг рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдирддреАрдЬрддрди, рд╣рдореЗрдВ nsis рдХреЛрдб рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдорд┐рд▓рд╛редрдЖрдк рдпрд╣ рднреА рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЦрдирди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рд▓рдЧрднрдЧ 30 рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдФрд░ рдзреАрдорд╛редрдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ :)рдзрдиреНрдпрд╡рд╛рдж!