PDA

Показать полную графическую версию : [архив].: NSIS - все вопросы :.


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 [107] 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

wolkow70
24-12-2011, 15:49
Так правильно будет? »
Все скопом регистрировать не лучший вариант. Для каждого расширения лучше отдельную секцию делать. Потом меньше проблем с деинсталляцией будет.
Вот посмотрите как у меня в скрипте Winamp сделано:
http://forum.oszone.net/post-1754972-257.html

diakov
24-12-2011, 16:02
Для каждого расширения лучше отдельную секцию делать. »

мне не подходит сколько чекбоксов не влезит))))

http://s50.radikal.ru/i127/1112/96/466eb779891e.jpg

Потом меньше проблем с деинсталляцией будет. »

Операционная система Windows перестает считать тип файла ассоциированным, если в реестре отсутствует описание приложения-обработчика. Таким образом, применительно к вышеуказанному примеру, достаточно удалить раздел HKLM\Software\Classes\Aimp.File для снятия всех ассоциация при удалении Aimp. Можно эту операцию оформить вызовом команды DeleteRegKey в секции деисталлятора:


Section Uninstall
...
DeleteRegKey HKLM "Software\Classes\Aimp.File"
...
SectionEnd

kotkovets
24-12-2011, 16:07
и хочу чтобы был чекбокс Установить ассоциации для аудио файлов, тоесть пользователь мог выбрать ассоциировать или просто установить аимп... »
Макрос предполагает аргумент, в качестве передаваемого расширения файла для ассоциации с приложением
!macro RegisterExtension extenstion
WriteRegStr HKLM "Software\Classes\.${extenstion}" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Aimp.exe,1"
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\Aimp.exe$\" $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\open\command" "" "$\"$INSTDIR\Aimp.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\Aimp.exe$\"/BOOKMARK $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Enqueue" "" "&Enqueue in Aipm"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Enqueue\command" "" "$\"$INSTDIR\Aimp.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
И запуск макроса:
!insertmacro RegisterExtension mp3
!insertmacro RegisterExtension acc
;и так далее
Все скопом регистрировать не лучший вариант. Для каждого расширения лучше отдельную секцию делать. »
wolkow70 прав, но хозяин барин, хочет все - пожалуйста :read:

diakov
24-12-2011, 16:12
Тоесть так


Section "ассоциации для аудио файлов"
${If} $Check == 1
SetShellVarContext all
!insertmacro RegisterExtension mp3
!insertmacro RegisterExtension acc
;и так далее
${EndIf}


Я правильно понял?

kotkovets
24-12-2011, 16:15
diakov, Правильно, пишете запуск макроса, столько, сколько вам нужно ассоциаций с связанным приложением
мне не подходит сколько чекбоксов не влезит)))) »
Всегда можно нарисовать еще свои странички, но это будет слишком сложно для вас.

diakov
24-12-2011, 16:17
окейно, счас бду пробовать)

wolkow70
24-12-2011, 16:31
Операционная система Windows перестает считать тип файла ассоциированным, если в реестре отсутствует описание приложения-обработчика. Таким образом, применительно к вышеуказанному примеру, достаточно удалить раздел HKLM\Software\Classes\Aimp.File для снятия всех ассоциация при удалении Aimp. Можно эту операцию оформить вызовом команды DeleteRegKey в секции деисталлятора »


Но сами то расширения файлов при этом останутся по умолчанию закрепленными за отсутствующим приложением, а это мусор в реестре, который в конце концов обманывает и саму операционную систему.
Считаю, что нужно удалять значения расширений по умолчанию, причем в обеих разделах реестра.
Кроме того, в windows 7 есть еще значения ключей, передающие системе сведения о программах, связанных с определенными расширениями.

diakov
24-12-2011, 18:23
kotkovets, как теперь изменить иконку для зарегистрированных файлов?

kotkovets
24-12-2011, 18:46
изменить иконку для зарегистрированных файлов? »
После применения всех регистраций,обновляем кэш иконок, пишем:
${RefreshShellIcons}
Этот макрос описан в FileFunc.nsh, естественно если этот хедер не подключен к телу скрипта, то в самом начале пишем:
!include "FileFunc.nsh"

diakov
24-12-2011, 19:01
Что то я не правильно делаю смотри:


!macro RegisterExtension extenstion
SetShellVarContext all
WriteRegStr HKLM "Software\Classes\.mp3" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\AIMP2.exe,1"
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\.mp3\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice" "Progid" "Aimp.File"
${RefreshShellIcons}
!macroend


А иконки стают вот такими

http://s55.radikal.ru/i148/1112/90/8ff7b6820099.jpg

kotkovets
24-12-2011, 19:16
diakov, После применения всех регистраций,обновляем кэш иконок, пишем: »
Я в макросе говорил писать???
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\AIMP2.exe,1" »
Здесь задается путь к ресурсам иконок, а вообще иконки берутся из aimp_icons.dll
Индекс иконок смотрите редактором ресурсом, ессно первая иконка - индекс = 0.

diakov
24-12-2011, 19:34
Непонял :durak:

Я пока что хочу поэксперементировать с .mp3

Вставляю макрос

!macro RegisterExtension extenstion
SetShellVarContext all
WriteRegStr HKLM "Software\Classes\.mp3" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\AIMP2.exe,1"
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\.mp3\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice" "Progid" "Aimp.File"
!macroend

Куда писать ${RefreshShellIcons}???

Ну вот открыл ресхакером aimp2.dll есть иконка

http://s004.radikal.ru/i205/1112/1a/53329407e58f.jpg

Как сделать и куда писать индекс (я понял что он 53) что бы была иконка такая...

Или как просто сделать что бы иконки были как значок аимпа???

kotkovets
24-12-2011, 19:56
diakov, Вы даже не пытаетесь понять, что я писал, вам не нужно писать
каждый раз макрос обновления иконок, достаточно одного раза, после регистрации
Section "ассоциации для аудио файлов"
${If} $Check == 1
SetShellVarContext all
!insertmacro RegisterExtension mp3
!insertmacro RegisterExtension acc
;и так далее
${RefreshShellIcons}
${EndIf}
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\AIMP2.exe,1"
Ну никогда не будет отображаться иконка, нет такой иконки в файле AIMP2.exe
задается путь к ресурсам иконок, а вообще иконки берутся из aimp2.dll »
Файл с иконками - в aimp2.dll , пишите путь к этому файлу - $INSTDIR\Icons\aimp2.dll,1
Что бы изменять иконки для каждого из типов, следует доработать макрос регистрации:
А именно ввести аргумент индекса иконки:
!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
запуск макроса:
!insertmacro RegisterExtension mp3 1
Для mp3 индекс иконки 1

diakov
24-12-2011, 20:07
тоесть получается что в этой иконки индекс 53?
http://s55.radikal.ru/i149/1112/f0/9a4fc6a7bf9f.jpg

kotkovets
24-12-2011, 20:11
тоесть получается что в этой иконки индекс 53 »
Первая иконка в списке будет --> отсчет индекса иконок система ведет от нуля и далее по порядку
НЕЗАВИСИМО ОТ НУМЕРАЦИИ и НАЗВАНИЯ ИКОНОК В РЕСУРСЕ

diakov
24-12-2011, 20:14
тоесть все индексы на 1 меньше?

Понял, походу самому считать от нуля)

diakov
24-12-2011, 20:31
Спасибо kotkovets, все играй боян, скажи а моно сторонние .ico файлы так подцепить?

diakov
24-12-2011, 22:04
kotkovets, опять трабла
пишу такое

SetShellVarContext all
WriteRegStr HKLM "Software\Classes\.mp3" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,6"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.AAC" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,0"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.AAC\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.AAC\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.APE" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,1"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.APE\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.APE\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.FLAC" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,3"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.FLAC\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.FLAC\UserChoice" "Progid" "Aimp.File"


WriteRegStr HKLM "Software\Classes\.m4a" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,4"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.m4a\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.m4a\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.MOD" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,5"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MOD\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MOD\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.MPC" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,7"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MPC\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MPC\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.OGG" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,8"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.OGG\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.OGG\UserChoice" "Progid" "Aimp.File"


WriteRegStr HKLM "Software\Classes\.acs3" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,10"
; ставим приложением по умолчанию для текущего пользователя


WriteRegStr HKLM "Software\Classes\.acs2" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,10"
; ставим приложением по умолчанию для текущего пользователя


WriteRegStr HKLM "Software\Classes\.WAV" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,11"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WAV\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WAV\UserChoice" "Progid" "Aimp.File"


WriteRegStr HKLM "Software\Classes\.WMA" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,12"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WMA\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WMA\UserChoice" "Progid" "Aimp.File"


потом такое...


ection "Установить ассоциации с аудио файлами"
${If} $Check2 == 1
SetShellVarContext all
!insertmacro RegisterExtension mp3 6
!insertmacro RegisterExtension AAC 0
!insertmacro RegisterExtension APE 1
!insertmacro RegisterExtension FLAC 3
!insertmacro RegisterExtension MOD 5
!insertmacro RegisterExtension MPC 7
!insertmacro RegisterExtension OGG 8
!insertmacro RegisterExtension acs3 10
!insertmacro RegisterExtension acs2 10
!insertmacro RegisterExtension WAV 11
!insertmacro RegisterExtension WMA 12

${RefreshShellIcons}
;;;
${EndIf}

И получается везде стоит иконка последнего !insertmacro RegisterExtension WMA 12 тоесть WMA :durak:

Я так понял что это потому как везде стоит "Aimp.File", как исправить подскажи!

Все разобрался сделав так...
WriteRegStr HKLM "Software\Classes\.mp3" "" "mp3.File"
WriteRegStr HKLM "Software\Classes\mp3.File" "" "mp3 Media File"
WriteRegStr HKLM "Software\Classes\mp3.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,6"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice" "Progid" "mp3.File"

WriteRegStr HKLM "Software\Classes\.WMA" "" "WMA.File"
WriteRegStr HKLM "Software\Classes\WMA.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\WMA.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,12"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WMA\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WMA\UserChoice" "Progid" "WMA.File"

diakov
24-12-2011, 22:37
не не разобрался если сделть так как я написал выше то получается что иконки меняються а приложеним аимп по умолчанию не ствится

Вообщем что нада поминять здесь чтобы иконка менялась и ассоциация по открытию сохранялась?


SetShellVarContext all
WriteRegStr HKLM "Software\Classes\.mp3" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,6"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.AAC" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,0"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.AAC\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.AAC\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.APE" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,1"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.APE\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.APE\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.FLAC" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,3"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.FLAC\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.FLAC\UserChoice" "Progid" "Aimp.File"


WriteRegStr HKLM "Software\Classes\.m4a" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,4"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.m4a\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.m4a\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.MOD" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,5"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MOD\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MOD\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.MPC" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,7"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MPC\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MPC\UserChoice" "Progid" "Aimp.File"

WriteRegStr HKLM "Software\Classes\.OGG" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,8"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.OGG\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.OGG\UserChoice" "Progid" "Aimp.File"


WriteRegStr HKLM "Software\Classes\.acs3" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,10"
; ставим приложением по умолчанию для текущего пользователя


WriteRegStr HKLM "Software\Classes\.acs2" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,10"
; ставим приложением по умолчанию для текущего пользователя


WriteRegStr HKLM "Software\Classes\.WAV" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,11"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WAV\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WAV\UserChoice" "Progid" "Aimp.File"


WriteRegStr HKLM "Software\Classes\.WMA" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,12"
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WMA\UserChoice"
WriteRegStr HKCU "


Помоги kotkovets

diakov
25-12-2011, 12:22
Разобрался сделав так


WriteRegStr HKLM "Software\Classes\.mp3" "" "mp3.File"
WriteRegStr HKLM "Software\Classes\mp3.File" "" "mp3 Media File"
WriteRegStr HKLM "Software\Classes\mp3.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,6"
WriteRegStr HKLM "Software\Classes\mp3.File\shell\open\command" "" "$\"$INSTDIR\AIMP2.exe$\" $\"%1$\""
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice" "Progid" "mp3.File"
; ставим приложением по умолчанию для текущего пользователя

WriteRegStr HKLM "Software\Classes\.WAV" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\WAV.File" "" "WAV Media File"
WriteRegStr HKLM "Software\Classes\WAV.File\DefaultIcon" "" "$INSTDIR\Icons\Black Style.dll,11"
WriteRegStr HKLM "Software\Classes\WAV.File\shell\open\command" "" "$\"$INSTDIR\AIMP2.exe$\" $\"%1$\""
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WAV\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.WAV\UserChoice" "Progid" "WAV.File"


Плюс в секции удаление отметил восстановление по дефолту ассоциаций


WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3" "" ""
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\OpenWithList" "a" "wmplayer.exe"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice" "Progid" "WMP11.AssocFile.MP3"

WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.aac" "" ""
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.aac\OpenWithList" "a" "wmplayer.exe"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.aac\UserChoice" "Progid" "WMP11.AssocFile.aac"

WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wav" "" ""
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wav\OpenWithList" "a" "wmplayer.exe"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wav\UserChoice" "Progid" "WMP11.AssocFile.wav"




© OSzone.net 2001-2012