[38;2;117;113;94/* [38;2;117;113;94 * Multi-line [38;2;117;113;94 * Comment [38;2;117;113;94 */ # Single-line comment ; Another-single line comment ; Includes !include "LogicLib.nsh" ; Defines !define ARCHITECTURE "x64" ; Compile time command !echo "Building ${ARCHITECTURE} script" ; Macro definition !macro SayHello name  !ifdef name  !echo "Hello, ${name}"  !else  !echo "Hello, world"  !endif !macroend ; Macro usage !insertmacro SayHello "John Doe" ; Settings Name "installer_name" OutFile "installer_name.exe" RequestExecutionLevel user CRCCheck on Unicode true !ifdef ${ARCHITECTURE}  InstallDir "$PROGRAMFILES64\installer_name" !else  InstallDir "$PROGRAMFILES\installer_name" !endif ; Pages Page components Page instfiles ; Functions Function PrintTestStrings  DetailPrint "The install button reads $(^InstallBtn)"  DetailPrint 'Here comes a$\n$\rline-break!'  DetailPrint `Escape the dollar-sign: $$` FunctionEnd ; Sections Section "section_name" section_index  Call PrintTestStrings   ; NSIS plugin call  nsExec::ExecToLog "calc.exe" SectionEnd