diakov, Вы даже не пытаетесь понять, что я писал, вам не нужно писать
каждый раз макрос обновления иконок, достаточно одного раза, после регистрации
Код:
![Выделить весь код](images/misc/selectcode.png)
Section "ассоциации для аудио файлов"
${If} $Check == 1
SetShellVarContext all
!insertmacro RegisterExtension mp3
!insertmacro RegisterExtension acc
;и так далее
${RefreshShellIcons}
${EndIf}
Код:
![Выделить весь код](images/misc/selectcode.png)
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\AIMP2.exe,1"
Ну никогда не будет отображаться иконка, нет такой иконки в файле AIMP2.exe
Цитата kotkovets:
задается путь к ресурсам иконок, а вообще иконки берутся из aimp2.dll »
|
Файл с иконками - в
aimp2.dll , пишите путь к этому файлу -
$INSTDIR\Icons\aimp2.dll,1
Что бы изменять иконки для каждого из типов, следует доработать макрос регистрации:
А именно ввести аргумент индекса иконки:
Код:
![Выделить весь код](images/misc/selectcode.png)
!macro RegisterExtension extenstion index
WriteRegStr HKLM "Software\Classes\.${extenstion}" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\aimp2.dll,${index}"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell" "" "Play"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Play" "" "&Play in Aimp"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Play\command" "" "$\"$INSTDIR\AIMP2.exe$\" $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\open\command" "" "$\"$INSTDIR\AIMP2.exe$\" $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\ListBookmark" "" "Add to Aipm's &Bookmark list"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\ListBookmark\command" "" "$\"$INSTDIR\AIMP2.exe$\"/BOOKMARK $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Enqueue" "" "&Enqueue in Aipm"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Enqueue\command" "" "$\"$INSTDIR\AIMP2.exe$\"/ADD $\"%1$\""
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" "Progid" "Aimp.File"
!macroend
запуск макроса:
Код:
![Выделить весь код](images/misc/selectcode.png)
!insertmacro RegisterExtension mp3 1
Для mp3 индекс иконки 1