Войти

Показать полную графическую версию : Регистрация расширений файлов (файловые ассоциации)


EvgenT
25-01-2006, 09:46
А есть ли утиль для регистрации расширений?
Например мне надо связать *.djvu с программой, которая располагается в C:\Program Files\DjVuReader\WinDjView.exe
Или mp3 с какой нить прогой?
А то ковыряния в реестре с вытаскиванием этих ключей уже достало.

Vadikan
25-01-2006, 10:17
В состав Windows входят утилиты при помощи которых можно:

Изменять связь между типом файла и исполняемой программойftype /?
Изменять связь между расширением и типом файла assoc /?

В состав Resource Kit также входит associate.exe, которая может выполнять сразу обе операции http://www.ss64.com/nt/associate.html
Утилиту можно загрузить с этой страницы (http://www.petri.co.il/download_free_reskit_tools.htm).

Tue
27-01-2006, 12:24
Vadikan, утилита associate.exe не делает того, что нужно. Вот я к примеру хочу чтобы файлы .wmv открывались Light Alloy. Соответственно пишу associate .WMV "c:\Program Files\LA\LA.exe". Пишет "Association ".WMV,c:\Program Files\LA\LA.exe" added". Дважды кликаю на .wmv файл - отркывается виндовым проигрывателем. Где ошибка ? А утилиты filetype, которая "входит в состав Windows" - у меня нет, есть утилита ftype.exe
P.S. WinXP Eng, SP2

EvgenT
27-01-2006, 17:24
Tue
Да, я это уже попробовал.
У меня открывается та прога, с которой ассоц. расширение. Но файл не добавляется в проигрыватель (ну или pdf открывал). Приложение запускается и всё. Ни чего не открывает.

Так что надо искать ещё что-то.

Vadikan
27-01-2006, 22:27
Tue
Есть такой момент с associate.exe. Я протестировал ее на текстoвом файле associate .vad "C:\Program Files\Scite\scite.exe" взял txt файл, сменил расширение на vad и открыл сразу в SciTe. Так что вообще-то она работает.

Конечно, ftype, это я по памяти писал.

Вообще, assoc нормально должна справляться с работой, учитывая, что приложение уже было установлено и зарегистрировало свои типы файлов.

Boa Soft
29-01-2006, 16:14
Вообще, assoc нормально должна справляться с работой, учитывая, что приложение уже было установлено и зарегистрировало свои типы файлов.

С медиафайлами посложнее. Там надо править дополнительные ключи, "обьясняя WMP", чтот это больше "не его" файл. Более подробно смогу посмотреть дома - у меня есть выжимка из темы на MSFN. Там же скрипт для ассоциации файлов. Тема не столь проста, как кажется.

Boa Soft
30-01-2006, 01:19
Коротко - с системно-поддерживаемыми файлами. (Ну, не знаю, как сказать иначе, вообщем, с теми файлами, которые изначально ассоциированы с системными примочками и которые она просто так не отдает) можно апоступить так:

Надо удалить параметр LegacyDisable

В ключе реестра:
HKCR\[FileType]\shell\[verb]

И так же параметр CLSID

В ключе реестра:
HKCR\[FileType]\shell\[verb]\ DropTarget


Где у нас

FileType - тип файла (не расширение!) например для *.AVI - AVIFile

Verb - действие, например open или play

Без этих действий у меня LA не хотел проигрывать нужные типы файлов (инсталлятор был перепакованный, свойский)

На счет остального - сейчас некогда собирать инфу. Если сейчас MSFN не в дауне, то можно посмотреть по этой ссылке:

http://www.msfn.org/board/index.php?act=ST&f=80&t=31407

Vadikan
30-01-2006, 04:23
Boa Soft
Эту ветку MSFN я видел, конечно. Там все-таки все через реестр делается, а хотелось бы утилитой. Ну если у MS нет утилит, способных справится со всеми типами файлов, то ничего кроме реестра не остается.

All
Я отредактировал ряд постов в теме, чтобы придать ей логический вид. Приношу извинения за всю катавасию с предыдущей правкой. Если бы EvgenT сразу создал отдельную тему, вместо вопроса в "Маленьких хитростях", а я немножко лучше разбирался в тонкостях ассоциаций, то мы бы сразу пришли к тому, что имеем сейчас ;)

EvgenT
30-01-2006, 09:22
Ааааа..а.а. это разве не маленькая хитрость????

Boa Soft
30-01-2006, 13:51
Эту ветку MSFN я видел, конечно. Там все-таки все через реестр делается, а хотелось бы утилитой. Ну если у MS нет утилит, способных справится со всеми типами файлов, то ничего кроме реестра не остается.

До того, как перейти на *.msi я паковал инсталлы в RAR SFX с добавлением самописной утилитки, которая могла по сценарию из ini файла создавать ярлычки, копировать файлы и задавать ассоциации. Все работало нормально, только вот она не умеет делать бэкап стандартных связей - после удаления программы стандартные установки не восстанавливались. Если кому интересно, то могу кусок кода из этого заброшенного проекта периписать в консольный вариант, с задаваемыми из коммандной строки параметрами. Там был параметр override для удаления всех старых ассоциаций.

Можно и проще - доделать один из скриптов на MSFN для нормальной работы со свободным заданием VERB и удалением того, что приводил немного выше.

Debugger
30-01-2006, 17:14
Boa Soft

А нельзя ли сделать софтину, которая бы перед запуском установки софтины автоматически запоминала все связи, а после отработки установки - восстанавливала, причем и со старыми ассоциациями. Пример - автоматическая установка Nero Vision и восстановление ассоциаций.

LonerD
20-01-2007, 02:40
Ну что, новых идей за год не прибавилось?

Shpionus
06-09-2011, 18:05
Вопрос по поводу ассоциаций NERO VISION актуален!

magon
07-09-2011, 03:41
[тестируем] Утилита для сохранения и восстановления ассоциаций файлов (http://forum.oszone.net/thread-94636.html)

Shpionus
11-09-2011, 22:28
Спасибо но это не то, запоминать ассоциации перед установкой а после неё их восстанавливать, это не выход. Тем боле что мы незнаем точно что там Неро в реестре меняет. Меня интересует как сделать чтобы именно в процессе установки НЕРО не трогал ассоциации.

MKN
12-09-2011, 08:55
Меня интересует как сделать чтобы именно в процессе установки НЕРО не трогал ассоциации. »
С штатным дистрибутивом Nero, "напрямую" - никак. Так уж разрабы порешили... Но можно в обход.
Не составляет труда отследить изменения в реестре после установки, касаемые ассоциаций. Если такое ассоциирование не нужно, то добавь в дистрибутив обычный рег(или cmd) файл, отменяющий эти ассоциации после установки.

ps Касательно утилит, работающих с ассоциациями файлов, в том числе и упомянутых здесь - все они крайне не удачны, часто "дремучи", а иногда даже и не работоспособны. Особенно в Win7.




© OSzone.net 2001-2012