Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 10 (http://forum.oszone.net/forumdisplay.php?f=118)
-   -   [решено] Ассоциации файлов - Открытие mht файла через chrome по умолчанию в реестре (http://forum.oszone.net/showthread.php?t=333506)

Tyamich 01-03-2018 18:36 2800981

[решено] Ассоциации файлов - Открытие mht файла через chrome по умолчанию в реестре
 
Приветствую. Возникла необходимость найти в реестре раздел, где бы можно было изменить браузер по умолчанию для открытия .mht файлов с Internet Explorer на Google Chrome. Насколько я понимаю копать надо в ветке HKCR и искать .mht. Нюанс тольков том, что я там так и не увидел упоминания о том какой программой запускается данное расширение. Пробовал посмотреть какие изменения случаться если через программы по умолчанию поменяю открытие mht файлов с IE на Chrome но все равно в рестре изменений не увидел. Подскажите где копать ибо мне нужно отыскать эту ветку реестра, чтобы затем ее распространить с помощью GPO по остальным компам.

Petya V4sechkin 01-03-2018 19:39 2800991

Tyamich, если не ошибаюсь, Chrome не поддерживает открытие MHT.

yurfed 01-03-2018 20:01 2800995

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 2801028

можете подробнее пояснить куда именно по правой кнопкой мыши жать и где писать данный код, это батник получается будет , немного недопонял.

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

Petya V4sechkin 01-03-2018 22:38 2801029

Tyamich, для начала проверьте, может ли Хром в принципе такие файлы открывать. У меня не открывает.

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

yurfed 02-03-2018 04:55 2801047

Цитата:

Цитата Tyamich
можете подробнее пояснить куда именно по правой кнопкой мыши жать »

Копируете в блокнот, сохраняете под любым именем. Меняете расширение файла на reg. Запускаете и соглашаетесь на добавление в реестр.
Цитата:

Цитата Tyamich
куда именно по правой кнопкой мыши жать »

На файл, который хотите открыть и в контекстном меню выбираете пункт "Открыть в 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\""

Цитата:

Цитата Petya V4sechkin
может ли Хром в принципе такие файлы открывать. »

Открывает. Версия 64.0.3282.186

Petya V4sechkin 02-03-2018 08:39 2801058

Цитата:

Цитата Tyamich
распространить с помощью GPO по остальным компам.

[решено] Изменить ассоциации файлов групповой политикой

usbdrive 02-03-2018 10:12 2801078

Цитата:

Цитата Tyamich
Пробовал посмотреть какие изменения случаться если через программы по умолчанию поменяю открытие mht файлов с IE на Chrome но все равно в рестре изменений не увидел. »

Чем смотрел, спец утилитами или на глаз ?
Цитата:

Цитата Petya V4sechkin
Chrome не поддерживает открытие MHT. »

Поддерживает, испытано на версиях хрома и хромоклонов от 31 до 63, но с оговорками - если mht был создан старыми версиями нехромых браузеров (например в Опере Престо), то он не откроется или откроется с кракозябрами.

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

Petya V4sechkin 02-03-2018 10:28 2801079

Цитата:

Цитата usbdrive
Поддерживает, испытано на версиях хрома и хромоклонов от 31 до 63, но с оговорками - если mht был создан старыми версиями нехромых браузеров (например в Опере Престо), то он не откроется или откроется с кракозябрами.

У меня версия 44 не открывает MHT-файлы, созданные в IE6.
Сейчас сохранил из IE11 для эксперимента - Хром открыл криво/частично. Не вижу особого смысла в такой половинчатой поддержке.
Цитата:

Цитата usbdrive
ТСу нужно сразу открывать mht хромом по даблклику

Не только, ещё ему нужно распространить через политику (поэтому я привёл ссылку в предыдущем сообщении).

usbdrive 02-03-2018 11:53 2801097

Цитата:

Цитата Petya V4sechkin
У меня версия 44 не открывает MHT-файлы, созданные в IE6. »

Может быть, но в контексте вопроса ТС это неактуально - под win10 он скорее всего не будет использовать хром44 и IE6 :)
IE6 использует для каких-то специфических задач малый процент юзеров.
Цитата:

Цитата Petya V4sechkin
Не только, ещё ему нужно распространить через политику (поэтому я привёл ссылку в предыдущем сообщении). »

Дык... я ведь просто заметил, что те советы (по добавлению ненужного, но не решающие сам вопрос) помогут как мертвому припарка :smirk:

Tyamich 02-03-2018 16:09 2801158

Вложений: 1
Смотрел изменения через 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 2801174

Цитата:

Цитата Tyamich
Смотрел изменения через procmon но там столько изменений сразу выдает что искать что то как иголку в стоге сена найти. »

Пробовать RegShot и ему подобные, создающие слепки до и после.

Petya V4sechkin 02-03-2018 18:51 2801190

Цитата:

Цитата Tyamich
Что дальше делать не пойму пока

Прочитать тему, ссылку на которую я вам дал:
[решено] Изменить ассоциации файлов групповой политикой

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

А потом вы прочитаете ссылку:
Deploying default file associations using Group Policy
из которой узнаете, как настроить ассоциации через GPO.

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

Tyamich 05-03-2018 11:58 2801742

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 2801752

Цитата:

Цитата Tyamich
так ? А то не срабатывае »

Не гадайте, делайте путем экспорта
Управление ассоциациями приложений

Tyamich 05-03-2018 15:57 2801774

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

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

Tyamich 06-03-2018 12:42 2801909

Итак после всех мытарств понял куда надо копать.

Итак, у нас есть две ветки: 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 2803417

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

Tyamich 16-03-2018 10:09 2803690

Цитата:

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

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


Время: 09:28.

Время: 09:28.
© OSzone.net 2001-