Цитата wolkow70:
Интуитивно я понял, что это связано с наличием расширения AUDIOCD, так? »
|
А зачем интуитивно, обычный макрос, ничего сверхсложного.
Код:

!macro RegisterExtension extenstion
StrCpy $ClassName "AIMP.${extenstion}"
StrCmp ${extenstion} "AUDIOCD" 0 noaudio
WriteRegStr HKCR "${extenstion}" "" "$ClassName"
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${extenstion}\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${extenstion}\UserChoice" "Progid" "$ClassName"
noaudio:
;---
;---
!macroend
extenstion - заданное некое расширение (mp3, wav, aac)
StrCmp ${extenstion} "AUDIOCD" 0 noaudio - если заданное расширение
AUDIOCD, то по скрипту выполнить 3 команды,
иначе перейти к метке
noaudio (перепрыгнуть через три команды по скрипту).
а че здесь смущаться...xex
$ClassName -> равносильно AIMP.${extenstion} команда явно жежь указана -
StrCpy $ClassName "AIMP.${extenstion}" . Просто сделано, чтобы покороче записывать в скрипте.
Надеюсь понятно...если внимательно почитали и применили на практике