Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Tyamich

Пользователь


Сообщения: 56
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

Итак, у нас есть две ветки: 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 шку пока писать. И все таки у меня остается вопрос - вот могли бы в майкрософте это все как то полегче сделать. Запара с этой сменой расширения настолько неочевидная, что без поллитра не разберешься
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:42, 06-03-2018 | #17