PDA

Показать полную графическую версию : Иконки файлов *.htm и *.html как неизвестное приложение


gnokii
03-04-2006, 15:23
Вдруг ни с того ни с сего у всех файлов *.htm и *.html иконки стали как у не зарегистрированных фалов. В свойствах файла стоит "открывать всегда файлы этого типа при помощи Mozilla Firefox". Что только не делал. Подскажите.

Blast
03-04-2006, 16:15
Панель управления - Свойства папки - Типы файлов - htm - Дополнительно - Сменить значок
то же для html

Sham
03-04-2006, 17:23
gnokii
Недавно тоже озадачился и нашел причину...
Удали ветку [HKEY_CLASSES_ROOT\htmlfile\ShellEx\IconHandler]. Лучше предварительно сохрани куда-нить...
Она появляется после установки Office, и ссылается на %ProgramFiles%\Microsoft Office\Office10\msohev.dll. Видимо для замены стандартной иконки на какую-то глючную иконку. То же самое и с *.mht (mhtmlfile) и *.odc (odcfile) файлами.

simplix
05-04-2006, 10:57
В реестре не было времени копаться, а через типы файлов ничего не менялось - всё исправил IconPackager, если есть какие-то проблемы со значками, можешь попробовать решить их через неё.

Grigorijg
16-10-2014, 15:26
Sham,

Для .odc (odcfile) - отбой. Это - файл Офиса и до его установки такой тип файла в ХР отсутствует. А для .html (htmlfile), .mht (mhtmlfile) помогает железобетоно!!! Коварный Офис ХР ВСЕГДА периодически сбрасывает иконки файлов .html, .mht в ХР именно из-за их увязки с msohev.dll. Ещё сбрасывается иконка файлов .url. Хоть сначала эти файлы, вроде, имеют иконки, но при попытке их смены, как пишет Blast, выясняется, что иконка в реестре не прописана и надо выбрать её вручную. Надеюсь, после такой чистки увязка пропадёт вместе с порчей иконок. Иначе надо деинсталлировать msohev.dll, но не знаю, как это сделать. Подсказал бы кто-нибудь!

P.S.

Уже разобрался. Пуск -> Выполнить -> regsvr32 /u "C:\Program Files\Microsoft Office\Office10\msohev.dll"

Компьютер обязательно перезагрузить.

Для регистрации:
Пуск -> Выполнить -> regsvr32 "C:\Program Files\Microsoft Office\Office10\msohev.dll"

Вот только после регистрации процесс C:\Program Files\Microsoft Office\Office10\msohev.dll не запускается. :(((

mwz
16-10-2014, 20:10
Sham, Для .odc (odcfile) - отбой »
Я думаю что за 6 с лишним прошедших лет уже само отбилось. ;)

Grigorijg
18-10-2014, 02:03
Мда, удаление веток реестра, указанных Sham, позволяет менять иконки .html, .mhtml. НО, если с помощью unlocker временно остановить прцесс msohev.dll, перезагрузиться, запустить Word, чтобы активизировать msohev.dll, то это уничтожит записи реестра об иконках для файлов .html, .mhtml. Это - в Офисе 2002 (ХР) и Офисе 2003. Причина: неудалённый пустой раздел реестра ShellEx. А вот если чистить реестр глубже, т.е. удалить ветки [HKEY_CLASSES_ROOT\htmlfile\ShellEx], [HKEY_CLASSES_ROOT\mhtmlfile\ShellEx],то проблема решается полностью. Хотел, было, из-за подобной агрессивности msohev.dll, от греха подальше, в добавок к чистке реестра, эту длл-ку деинсталлировать, как я предложил выше (для Офиса 2003 будет: Пуск -> Выполнить -> regsvr32 /u "C:\Program Files\Microsoft Office\Office11\msohev.dll"). Но это не помогает, msohev.dll активируется, если сохраняются пустые разделы реестра ShellEx. Наоборот, на одном из компьютеров подавить активность msohev.dll удалось с помощью её регистрации.
Можно с помощью рег-файла, совместно с чисткой, восстановить исходные иконки .html, .mhtml

REGEDIT4

[HKEY_CLASSES_ROOT\htmlfile\DefaultIcon]
@="C:\\Program Files\\Internet Explorer\\iexplore.exe,-17"

[HKEY_CLASSES_ROOT\mhtmlfile\DefaultIcon]
@="C:\\Program Files\\Internet Explorer\\iexplore.exe,-32554"

[-HKEY_CLASSES_ROOT\htmlfile\ShellEx]

[-HKEY_CLASSES_ROOT\mhtmlfile\ShellEx]

Я боялся применять этот рег-файл, когда в качестве браузера по умолчанию выбран не Internet Explorer. Но оказалось, что, например, Мозилла эти ветки не трогает, она прописывается в других местах. Так что смело можно применять этот лечебный рег-файл при выборе любого браузера по умолчанию и полностью решить проблему с указанными иконками в Офисе 2002 (ХР) и Офисе 2003. При необходимости, уточнить "C:\\Program Files\\... А можно сделать батник, где это уточнять не надо.

reg delete "HKCR\htmlfile\ShellEx" /f
reg delete "HKCR\mhtmlfile\ShellEx" /f
reg add "HKCR\htmlfile\DefaultIcon" /t REG_SZ /d "%ProgramFiles%\Internet Explorer\iexplore.exe,-17" /ve /f
reg add "HKCR\mhtmlfile\DefaultIcon" /t REG_SZ /d "%ProgramFiles%\Internet Explorer\iexplore.exe,-32554" /ve /f

Для Internet Explorer 6.0 числовые значения после запятых должны быть 1 вместо -17 и 22 вместо -32554. С учётом этого, автоматический батник

:: в реестре определяем версию Internet Explorer и присваиваем её значение переменной "VER"
for /f "skip=4 tokens=2*" %%a in ('reg.exe query "HKLM\SOFTWARE\Microsoft\Internet Explorer\Version Vector" /v "IE"') do set "VER=%%b"
:: сравниваем значение переменной "VER" c заданными значениями для выбора варианта установки
if "%VER%"=="5.0100" goto IE6
if "%VER%"=="6.0000" goto IE6
goto IE8
:IE6
reg add "HKCR\htmlfile\DefaultIcon" /t REG_SZ /d "%ProgramFiles%\Internet Explorer\iexplore.exe,1" /ve /f
reg add "HKCR\mhtmlfile\DefaultIcon" /t REG_SZ /d "%ProgramFiles%\Internet Explorer\iexplore.exe,22" /ve /f
goto shellex
:IE8
reg add "HKCR\htmlfile\DefaultIcon" /t REG_SZ /d "%ProgramFiles%\Internet Explorer\iexplore.exe,-17" /ve /f
reg add "HKCR\mhtmlfile\DefaultIcon" /t REG_SZ /d "%ProgramFiles%\Internet Explorer\iexplore.exe,-32554" /ve /f
:shellex
reg delete "HKCR\htmlfile\ShellEx" /f
reg delete "HKCR\mhtmlfile\ShellEx" /f
reg delete "HKCR\ODCfile\ShellEx" /f
reg add "HKCR\ODCfile\DefaultIcon" /t REG_SZ /d "" /ve /f
:end


Чтобы батник отработал в Windows 2000, рядом с ним надо положить reg.exe от Windows XP. До смены браузера по умолчанию помогает. После смены браузера по умолчанию и первого открытия приложения Офиса лекарство однократно применить снова. Проверено для Internet Explorer 6, 7, 8, Офиса 2002 (ХР), Офиса 2003 в Windows XP. В Офисе 2003 побороть вызов MSOHEV.DLL не получится, но она ведёт себя куда менее агрессивно, чем в Офисе ХР, и больше не изменяет ключи реестра для иконок по умолчанию. Если при чистой установке Офиса ХР, 2003, подсунуть MSOHEV.DLL от Офиса 2000 (для этого приходится перепаковывать CAB архивы), то эта длл-ка вообще не может быть вызвана, и достаточно однократно открыть вышеуказанный батник. Если установка не чистая, хоть раз отработала оригинальная MSOHEV.DLL, то эта подмена не поможет. Ещё раз, ОГРОМНОЕ спасибо Sham!!!

Grigorijg
21-10-2014, 18:13
Долго повозился, нашёл окончательное решение, отредактировав свой предыдущий коммент.




© OSzone.net 2001-2012