Войти

Показать полную графическую версию : [решено] Ассоциации файлов - Открытие mht файла через chrome по умолчанию в реестре


Tyamich
01-03-2018, 18:36
Приветствую. Возникла необходимость найти в реестре раздел, где бы можно было изменить браузер по умолчанию для открытия .mht файлов с Internet Explorer на Google Chrome. Насколько я понимаю копать надо в ветке HKCR и искать .mht. Нюанс тольков том, что я там так и не увидел упоминания о том какой программой запускается данное расширение. Пробовал посмотреть какие изменения случаться если через программы по умолчанию поменяю открытие mht файлов с IE на Chrome но все равно в рестре изменений не увидел. Подскажите где копать ибо мне нужно отыскать эту ветку реестра, чтобы затем ее распространить с помощью GPO по остальным компам.

Petya V4sechkin
01-03-2018, 19:39
Tyamich, если не ошибаюсь, Chrome не поддерживает открытие MHT.

yurfed
01-03-2018, 20:01
Tyamich, по правой кнопки мышы
Примерно так
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Имя программы, любое. Это будет в меню по правой кнопке на файле\command]
@="C:\\Program Files\\Путь к папке\\Имя программы.exe %1"

Все пути и имена естественно ваши.

Для семёрки это выглядит так
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Открыть в iExplorer]

[HKEY_CLASSES_ROOT\*\shell\Открыть в iExplorer\Command]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" \"%1\""

Tyamich
01-03-2018, 22:30
можете подробнее пояснить куда именно по правой кнопкой мыши жать и где писать данный код, это батник получается будет , немного недопонял.

Или это путь в реестре ? Просто если речь про сам реестр идет то в ветви shell у меня пустой файл "по умолчанию и ветка removeproperties. Можете подробнее расписать то что вы описали ?

Petya V4sechkin
01-03-2018, 22:38
Tyamich, для начала проверьте, может ли Хром в принципе такие файлы открывать. У меня не открывает.

Для примера предположим, что файл my.mht лежит в папке C:\Test. В адресной строке Хрома наберите:
file:///C:/Test/my.mht

yurfed
02-03-2018, 04:55
можете подробнее пояснить куда именно по правой кнопкой мыши жать »
Копируете в блокнот, сохраняете под любым именем. Меняете расширение файла на reg. Запускаете и соглашаетесь на добавление в реестр.
куда именно по правой кнопкой мыши жать »На файл, который хотите открыть и в контекстном меню выбираете пункт "Открыть в iExplorer"
Этот путь C:\\Program Files\\Internet Explorer\\iexplore.exe\ меняйте на путь до Хрома
Для Хрома будет так. Во всяком случае у меня такой путь.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Открыть в Chrome]

[HKEY_CLASSES_ROOT\*\shell\Открыть в iExplorer\Command]
@="\"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\" \"%1\""

может ли Хром в принципе такие файлы открывать. »Открывает. Версия 64.0.3282.186

Petya V4sechkin
02-03-2018, 08:39
распространить с помощью GPO по остальным компам.
[решено] Изменить ассоциации файлов групповой политикой (http://forum.oszone.net/thread-326408.html)

usbdrive
02-03-2018, 10:12
Пробовал посмотреть какие изменения случаться если через программы по умолчанию поменяю открытие mht файлов с IE на Chrome но все равно в рестре изменений не увидел. »Чем смотрел, спец утилитами или на глаз ?
Chrome не поддерживает открытие MHT. »Поддерживает, испытано на версиях хрома и хромоклонов от 31 до 63, но с оговорками - если mht был создан старыми версиями нехромых браузеров (например в Опере Престо), то он не откроется или откроется с кракозябрами.

yurfed, это все не то - ТСу нужно сразу открывать mht хромом по даблклику, а не добавлять какие-то лишние записи в контекстное меню. http://www.picshare.ru/view/8462121/

Petya V4sechkin
02-03-2018, 10:28
Поддерживает, испытано на версиях хрома и хромоклонов от 31 до 63, но с оговорками - если mht был создан старыми версиями нехромых браузеров (например в Опере Престо), то он не откроется или откроется с кракозябрами.
У меня версия 44 не открывает MHT-файлы, созданные в IE6.
Сейчас сохранил из IE11 для эксперимента - Хром открыл криво/частично. Не вижу особого смысла в такой половинчатой поддержке.
ТСу нужно сразу открывать mht хромом по даблклику
Не только, ещё ему нужно распространить через политику (поэтому я привёл ссылку в предыдущем сообщении).

usbdrive
02-03-2018, 11:53
У меня версия 44 не открывает MHT-файлы, созданные в IE6. »
Может быть, но в контексте вопроса ТС это неактуально - под win10 он скорее всего не будет использовать хром44 и IE6 :)
IE6 использует для каких-то специфических задач малый процент юзеров.
Не только, ещё ему нужно распространить через политику (поэтому я привёл ссылку в предыдущем сообщении). »Дык... я ведь просто заметил, что те советы (по добавлению ненужного, но не решающие сам вопрос) помогут как мертвому припарка :smirk:

Tyamich
02-03-2018, 16:09
Смотрел изменения через procmon но там столько изменений сразу выдает что искать что то как иголку в стоге сена найти.

" ТСу нужно сразу открывать mht хромом по даблклику, а не добавлять какие-то лишние записи в контекстное меню" - все верно, мне это не надо через меню, мне надо через GPO распространить.

Короче какие зацепки нашел....

Есть несколько записей

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mht

HKEY_USERS\S-1-5-21-746137067-1078145449-1060284298-500\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mht

Там соответственно есть раздел: OpenWithList. В нем есть следующие записи (смотрим пикчу mht3)

как мы видим там есть переменные а=iexplore.exe , b=chrome.exe , MRUList =abc то есть какая переменная стоит первая та и по идее должна открывать расширение. Но оно блин не работает! В любом случае открывается mht эксплорером вместо хрома. Еще мне порекомендовали добавить параметр Application и добавить туда значение chrome.exe но все равно не сработало. Что дальше делать не пойму пока

usbdrive
02-03-2018, 17:04
Смотрел изменения через procmon но там столько изменений сразу выдает что искать что то как иголку в стоге сена найти. »Пробовать RegShot и ему подобные, создающие слепки до и после.

Petya V4sechkin
02-03-2018, 18:51
Что дальше делать не пойму пока
Прочитать тему, ссылку на которую я вам дал:
[решено] Изменить ассоциации файлов групповой политикой (http://forum.oszone.net/thread-326408.html)

Там вы увидите статью:
Как правильно ассоциировать типы файлов с программами в Windows, и почему вам нужно учиться этому заново (http://www.outsidethebox.ms/14016/)
из которой поймёте, что с ассоциациями файлов в Windows 10 всё непросто.

А потом вы прочитаете ссылку:
Deploying default file associations using Group Policy (https://4sysops.com/archives/default-file-associations-in-windows-10/#deploying-default-file-associations-using-group-policy)
из которой узнаете, как настроить ассоциации через GPO.

P.S. Для Хрома ProgId = ChromeHTML

Tyamich
05-03-2018, 11:58
Petya V4sechkin , не срабатывает. Как я понял ,ассоциации по GPO должны автоматически рассылаться на пк в сети, но этого не происходит. Решил протестировать на клиентском ПК. Там открытие htm и html файлов через Chrome. в xml файле прописал что htm и html файлы должны открываться через Internet Explorer. Применил, на клиентском компе прописал gpupdate /force перезагрузил в итоге изменения так и не вступили в силу. На клиентском компьютере кстати был Windows 7 а не windows 10. Не применилось.

Вот если я все правильно понимаю, то чтобы по GPO mht файлы открывались через Chrome надо в xml файле прописать просто одну строчку:

<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
<Association Identifier=".mht" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
</DefaultAssociations>

так ? А то не срабатывает

Vadikan
05-03-2018, 12:47
так ? А то не срабатывае »
Не гадайте, делайте путем экспорта
Управление ассоциациями приложений (http://www.outsidethebox.ms/14267/#_Toc342245007)

Tyamich
05-03-2018, 15:57
Vadikan сделал экспорт, посмотрел, какие расширения экспортировались. Почему то в списке mht не оказалось. Но при этом через программы по умолчанию можно выставить программу, которую можно открывать mht файлы по умолчанию.

короче в этом файле добавил расширение mht прописал чтобы открывалось Хромом, прописал ProgId название сохранил файл, закинул на сервак в расшаренную папку, в GPO прописал путь до файла все активировал - не работает все равно. Нашел инфу, что если ассоциация с программой уже была совершена вручную, то политика на клиентский пк не применится и надо будет удалять всю ветку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mht что я и сделал. Теперь ассоциация у mht файлов с какой либо программой пропала. Теперь по сути мне надо что то прописать в реестре, чтобы mht файлы открывались с помощью Хрома, только как правильно прописывать не знаю

Tyamich
06-03-2018, 12:42
Итак после всех мытарств понял куда надо копать.

Итак, у нас есть две ветки: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mht и HKEY_CLASSES_ROOT\.mht

Так вот их надо полностью удалить под чистую. Перезагружаем комп. У нас слетает полностью ассоциация с файлами данного типа .mht, теперь создаем эти разделы по новой, но уже с новыми параметрами.

В HKEY_CLASSES_ROOT\.mht в строковом параметре по умолчанию прописываем mht_auto_file.

В HKEY_CLASSES_ROOT создаем раздел mht_auto_file. Внутри него создаем подразделы - shell - open - command. В command - значение по умолчанию "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "%1"

В HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mht по новой создаем три раздела OpenWithList, OpenWithProgids и UserChoice. В самом разделе mht пишем по умолчанию chrome.exe. В OpenWithList a=chrome.exe, MRUList значение a. В OpenWithProgids двоичный параметр mht_auto_files со значением 0000. В UserChoice создаем параметр ProgID пишем Applications\chrome.exe.

Выходим из реестра и перезагружаемся. Все, теперь у нас mht файлы сразу ассоциируются с Google Chrome. Остается по идее только написать два скрипта. Один удаляет уже существующие ветки реестра. Второй скрипт импортирует по GPO вот эти ветки реестра на клиентские компы.

А теперь собственно у вас может возникнуть резонный вопрос - почему такие дикие танцы с бубнами получаются? Я честно говоря сам опешил от этого ) Но получается следующая ситуация. Спасибо участникам дискуссии, кто кидал ссылки на подобные
топики. Оказывается расширение mht уже изначально по умолчанию в windows закреплено за Internet Explorer. А система такова, что если расширение закреплено за какой то программой, то политика GPO (в нашем случае xml файл, полученный с помощью команды Dism.exe /online /Export-DefaultAppAssociations:C:\Temp\DefaultApps.xml, который редактируем по своему и распространяемый с помощью административных щаблонов - проводник - ассоциировать файлы по умолчанию) , которая должна отвечать за смену открываемой проги нужного расширения банально не будет применяться. То есть мы должно сначала разрвать ассоциации с текущей программой, и потом по новой прописать ассоциацию с нужной нам программой. Именно по этому нам сначала нужно будет сделать скрипт на удаление веток реестра, чтобы он отработал на машине клиента один раз, а затем запустить скрипт через GPO , который пропишет эти же удаленные ветки реестра, только уже прописанные как нам надо.

P.S Боже, я чуть мозгом не поехал, прежде чем это осознать. Уже проверил это на практике, блин дикий костыль, но работает. Если кто то знает, как туже операцию сделать легче и понятнее пишите, рад буду почитать. Пойду cmd шку пока писать. И все таки у меня остается вопрос - вот могли бы в майкрософте это все как то полегче сделать. Запара с этой сменой расширения настолько неочевидная, что без поллитра не разберешься

Vadikan
15-03-2018, 00:32
Tyamich,
Тут в блоге одном запостили скрипт PowerShell в нагрузку к политикам. Как я понял, именно под ваш случай
https://blogs.msdn.microsoft.com/hewagen/making-file-type-associations-enterprise-ready/

Tyamich
16-03-2018, 10:09
Tyamich,
Тут в блоге одном запостили скрипт PowerShell в нагрузку к политикам. Как я понял, именно под ваш случай
https://blogs.msdn.microsoft.com/hew...erprise-ready/ »

О, спасибо большое, сейчас посмотрю




© OSzone.net 2001-2012