wolkow70,
А справка для чего? где это вы видели, чтобы макрокоманды в секции прописывались, если уж вытянули чужой макрос - вера, что ли не позволяет посмотреть скрипт, где и в каком месте макросы нарисованы и как они работают? и для чего они нужны то?
Примерно можно упрощенно сделать вот так:
Код:
!include "FileFunc.nsh"
!define Register "!insertmacro RegisterExtension"
!macro RegisterExtension extenstion ClassName DefaultIcon OpenCommand
WriteRegStr HKLM "SOFTWARE\Classes\${extenstion}" "" "${ClassName}"
WriteRegStr HKLM "SOFTWARE\Classes\${ClassName}\DefaultIcon" "" "${DefaultIcon}"
WriteRegStr HKLM "SOFTWARE\Classes\${ClassName}\shell\open\command" "" "${OpenCommand}"
!macroend
Section Main
SetOutPath "$INSTDIR\XnView" #помещает путь распаковки в $OUTDIR
${Register} ".bmp" "XnView.bmp" "$OUTDIR\XnView.exe,2" "$\"$OUTDIR\XnView.exe$\" $\"%1$\""
#---#
${RefreshShellIcons}
SectionEnd
/*
получается в макросе вот такая запись структуры:
WriteRegStr HKLM "SOFTWARE\Classes\.bmp" "" "XnView.bmp"
WriteRegStr HKLM "SOFTWARE\Classes\XnView.bmp\DefaultIcon" "" "$OUTDIR\XnView.exe,2"
WriteRegStr HKLM "SOFTWARE\Classes\.bmp\shell\open\command" "" "$\"$OUTDIR\XnView.exe$\" $\"%1$\""
*/