Jump to content

annoying icon association


vinifera

Recommended Posts

I have this problem on both XP and "7"

all my htm/html files got this icon asociated with them

2r5xbgk.png

on XP theres IE6 and Firefox 20

on "7" theres Opera 11 and QtWeb

i tried removing all browsers them installing them and use their "make this default browser"

then i tried dis-asociate with 1st and give it to 2nd via "Open with/always"

nothing helps, how to fix this :(

Link to comment
Share on other sites


Icons for webpages can be tricky because of superseding registry keys that override what appears to be the current setting. If you look at this one you might see ...

[HKEY_LOCAL_MACHINE\Software\Classes\HTMLfile\DefaultIcon]
@="C:\\Program Files\\Internet Explorer\\Iexplore.exe,1"


... believing that MSIE should be the icon for webpages. But that key would only be controlling it if that key was "called" from here ...

[HKEY_LOCAL_MACHINE\Software\Classes\.html]
@="HTMLfile"


... in other words a file is first looked up by it's extension and then the program or shell code that needs to use it follows the registry to whatever is in that "@" default value. In the above case it goes to the old HTMLfile class handler and proceeds accordingly using MSIE entries.

However, that key will not be controlling it anymore if something like this exists above at the extension level ...

[HKEY_LOCAL_MACHINE\Software\Classes\.html]
@="Opera.HTML"


... now the program or shell code instead follows it down to the class called "Opera.HTML" where this subkey would be in control ...

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\DefaultIcon]
@="C:\\Winapps\\Opera\\Common\\Icons\\Opera_05_06_07_08_09.ico"


... note that is my own ICO file, it could just as well be "Opera.exe" instead.

Someone might prefer to yank MSIE completely out of the picture by grabbing all the associations like so ...

[HKEY_LOCAL_MACHINE\Software\Classes\.htm]
@="Opera.HTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.html]
@="Opera.HTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.mht]
@="Opera.MHTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.mhtm]
@="Opera.MHTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.mhtml]
@="Opera.MHTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.url]
@="Opera.HTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.eml]
@="Opera.MHTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.php]
@="Opera.HTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.php3]
@="Opera.HTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.shtm]
@="Opera.HTML"
[HKEY_LOCAL_MACHINE\Software\Classes\.shtml]
@="Opera.HTML"


... or other tricks to display custom icons and have their own preferred programs execute instead. Note that Opera.HTML just happens to be their traditional class name. It could also be a completely custom handmade key instead.

There is a nice element of security in this method. Because that ancient structure of Internet Explorer entries might be tampered with by spyware or adware or hijackers. If you instead hook into the system early ( at the file extension level ) and redirect to your own keys then spyware can mess around with Internet Explorer keys all day long and not affect you at all.

After you get the structure set according to your own preference, then it is a good idea to save that subset of keys into a REG file to import every so often just in case some malware does manage to alter those file extension associations.

Link to comment
Share on other sites

did everything except this

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\DefaultIcon]

so changed it to

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\DefaultIcon]
@="C:\\Program Files\\Opera\\Opera.exe"

no change to icons

Link to comment
Share on other sites

Sorry, I'm not fully understanding you. Also, please specify which of those two systems mentioned in the top post we are now talking about.

HKCR is shorthand for HKEY_CLASSES_ROOT which itself is shorthand ( a link actually ) to HKEY_LOCAL_MACHINE\Software\Classes.

So HKCR\.htm actually means [HKEY_LOCAL_MACHINE\Software\Classes\.htm]

Likewise HKCR\.html actually means [HKEY_LOCAL_MACHINE\Software\Classes\.html]

Traditionally all of these types of settings were in the HKLM hives ( HKEY_LOCAL_MACHINE system wide machine settings affecting all users ) as opposed to one of the user hives you just mentioned HKCU ( aka HKEY_CURRENT_USER ), but since you mentioned it, there is the possibility that there are settings in your HKCU hive which will override the HKLM hives, which they are quite capable of doing.

Best thing to do is list everything from these keys ...

[HKEY_LOCAL_MACHINE\Software\Classes\.htm]

[HKEY_LOCAL_MACHINE\Software\Classes\.html]

[HKEY_CURRENT_USER\Software\Classes\.htm]

[HKEY_CURRENT_USER\Software\Classes\.html]

After that we'll be able to see exactly which class handlers are being called. Please also mention which system this is, which browser is being used, which icons you see for webpages, and which icon you would like to see.

EDIT: typo

Edited by CharlotteTheHarlot
Link to comment
Share on other sites

Default Programs Editor portable

http://defaultprogramseditor.com

Click File Type Settings then Icon

it crashes to me :D

------

@ CharlotteTheHarlot

sorry, I misunderstood you then,

values are:

[HKEY_LOCAL_MACHINE\Software\Classes\.htm] --- DOESN'T EXIST

[HKEY_LOCAL_MACHINE\Software\Classes\.html]

Opera.HTML

[HKEY_LOCAL_MACHINE\Software\Classes\.htm] --- DOESN'T EXIST

[HKEY_LOCAL_MACHINE\Software\Classes\.html]

Opera.HTML

[HKEY_CURRENT_USER\Software\Classes\.htm] --- DOESN'T EXIST

[HKEY_CURRENT_USER\Software\Classes\.html] --- DOESN'T EXIST

-----

the browser (main) is Opera v11

IE was removed (don't have it so no conflict should be here)

Edited by vinifera
Link to comment
Share on other sites

Okay, there are no HKCU overrides. Run this script on the system with Opera ...

REGEDIT4[HKEY_LOCAL_MACHINE\Software\Classes\.htm]@="Opera.HTML"[HKEY_LOCAL_MACHINE\Software\Classes\.html]@="Opera.HTML"[HKEY_LOCAL_MACHINE\Software\Classes\.url]@="Opera.HTML"

Next thing I would do with the Opera system is go to Tools > Preferences > Advanced > Programs and then check the box "Check if Opera is the default browser on startup" and then click OK and exit Opera. Now restart Opera and if it asks to become the default tell it YES or OK ( or whatever the affirmative answer is ).

Finally, export the following key and post it here, paste all of it exactly as it appears ( note that the ones you just posted above seems to have the syntax stripped out ) and wrap it in {code} an {/code} tags ( note, those will need to be square brackets! ) ...

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML]

I need that to see the target path to Opera and to check for differences. Important, what is the exact path to your Opera.exe file?

One other question ... When you see webpages with that strange icon, what happens when they are clicked? ( what program actually opens? )

Link to comment
Share on other sites

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML]"FriendlyTypeName"="Opera Web Document"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\DefaultIcon]@="C:\\Program Files\\Opera\\Opera.exe"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\shell][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\shell\Edit]@="&Edit"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\shell\Edit\command]@="\"C:\\PROGRA~1\\MICROS~1\\OFFICE11\\msohtmed.exe\" %1"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\shell\open][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\shell\open\command]@="\"C:\\Program Files\\Opera\\Opera.exe\" \"%1\""[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\shell\Print]@="&Print"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\shell\Print\command]@="\"C:\\PROGRA~1\\MICROS~1\\OFFICE11\\msohtmed.exe\" /p %1"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\ShellEx][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Opera.HTML\ShellEx\IconHandler]@="{42042206-2D85-11D3-8CFF-005004838597}"

Important, what is the exact path to your Opera.exe file?

One other question ... When you see webpages with that strange icon, what happens when they are clicked? ( what program actually opens? )

1. its in C:\Program Files\Opera

2. they got opened by Opera

Edited by vinifera
Link to comment
Share on other sites

Okay, I see what happened here. No biggie. That ShellEx handler is to {42042206-2d85-11d3-8cff-005004838597} which is an MSIE ( Internet Explorer ) class that takes over the displayed icon. It must be from something that is automated in the "Open With" procedure. As I have never used that "Open With" dialog I never see this issue. In a nutshell, MSIE decided to use a different method to display icons rather than the simple, visible, traditional \DefaultIcon] subkey, for what reason, I can only guess that it is about abstracting things further away from the user.

You can just run this script, reboot and you will be good to go regarding that icon problem ...

REGEDIT4 [-HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\ShellEx]

However, you should really run this one instead, it is a more complete script that resets the keys to what they should be ( see notes below ) ...

REGEDIT4; never delete these two keys because there are subkeys below them ...[HKEY_LOCAL_MACHINE\Software\Classes\.htm]@="Opera.HTML""Content Type"="Text/HTML""PerceivedType"="Text"[HKEY_LOCAL_MACHINE\Software\Classes\.html]@="Opera.HTML""Content Type"="Text/HTML""PerceivedType"="Text"; this one can be safely deleted first ...[-HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML][HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML]"FriendlyTypeName"="Opera Web Document"[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\CLSID]@="{25336920-03f9-11cf-8fd0-00aa00686f13}"[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\DefaultIcon]@="\"C:\\Program Files\\Opera\\Opera.exe\",1"[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\ScriptHostEncode]@="{0cf774d0-f077-11d1-b1bc-00c04f86c324}"[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell][HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Edit]@="&Edit"[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Edit\Command]@="\"C:\\PROGRA~1\\MICROS~1\\Office11\\Msohtmed.exe\" %1"[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Open][HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Open\Command]@="\"C:\\Program Files\\Opera\\Opera.exe\" \"%1\""[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Print]@="&Print"[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Print\Command]@="\"C:\\PROGRA~1\\MICROS~1\\Office11\\Msohtmed.exe\" /p %1"

Finally, if you want to give all HTML related duties to Opera, this next one adds the other possible filetypes as well ...

REGEDIT4

; never delete these keys because there are often subkeys below them ...

[HKEY_LOCAL_MACHINE\Software\Classes\.htm]

@="Opera.HTML"

"Content Type"="Text/HTML"

"PerceivedType"="Text"

[HKEY_LOCAL_MACHINE\Software\Classes\.html]

@="Opera.HTML"

"Content Type"="Text/HTML"

"PerceivedType"="Text"

[HKEY_LOCAL_MACHINE\Software\Classes\.mht]

@="Opera.HTML"

"Content Type"="Message/Rfc822"

[HKEY_LOCAL_MACHINE\Software\Classes\.mhtm]

@="Opera.HTML"

"Content Type"="Message/Rfc822"

[HKEY_LOCAL_MACHINE\Software\Classes\.mhtml]

@="Opera.HTML"

"Content Type"="Message/Rfc822"

[HKEY_LOCAL_MACHINE\Software\Classes\.url]

@="Opera.HTML"

"OldDefault"="InternetShortcut"

[HKEY_LOCAL_MACHINE\Software\Classes\.eml]

@="Opera.HTML"

"Content Type"="Message/Rfc822"

"OldDefault"="Microsoft Internet Mail Message"

[HKEY_LOCAL_MACHINE\Software\Classes\.php]

@="Opera.HTML"

"PerceivedType"="Text"

[HKEY_LOCAL_MACHINE\Software\Classes\.php3]

@="Opera.HTML"

"PerceivedType"="Text"

[HKEY_LOCAL_MACHINE\Software\Classes\.shtm]

@="Opera.HTML"

"Content Type"="Text/HTML"

"PerceivedType"="Text"

[HKEY_LOCAL_MACHINE\Software\Classes\.shtml]

@="Opera.HTML"

"Content Type"="Text/HTML"

"PerceivedType"="Text"

; this one can be safely deleted first ...

[-HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML]

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML]

"FriendlyTypeName"="Opera Web Document"

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\CLSID]

@="{25336920-03f9-11cf-8fd0-00aa00686f13}"

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\DefaultIcon]

@="\"C:\\Program Files\\Opera\\Opera.exe\",1"

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\ScriptHostEncode]

@="{0cf774d0-f077-11d1-b1bc-00c04f86c324}"

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell]

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Edit]

@="&Edit"

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Edit\Command]

@="\"C:\\PROGRA~1\\MICROS~1\\Office11\\Msohtmed.exe\" %1"

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Open]

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Open\Command]

@="\"C:\\Program Files\\Opera\\Opera.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Print]

@="&Print"

[HKEY_LOCAL_MACHINE\Software\Classes\Opera.HTML\Shell\Print\Command]

@="\"C:\\PROGRA~1\\MICROS~1\\Office11\\Msohtmed.exe\" /p %1"

Note-1 ... The ShellEx key is now gone. I added in two keys that were missing ( CLSID and ScriptHostEncode ) which are Windows MSHTML related ( scripting and viewer ).

Note-2 ... In that last script, I included all the earlier extension keys we discussed. You can save either of those scripts as a "repair" REG file just in case MSIE or something else creeps in again. For example it includes MHT as well as EML ( these are saved webpages and email in MIME single file format ). This way if you click on an MHT or EML, you will get Opera instead of an "Open With" dialog. This helps plug an extra security hole by preventing MSIE from ever opening a saved webpage or email and subsequently resetting itself ( or icons or ... ) as the default. In an earlier comment I used a separate key for Opera.MHTML, but have since changed that to just Opera.HTML as they were really identical.

Note-3 ... I escaped the \DefaultIcon] subkey command the way that Opera 11 did it. Others should take note that Opera 12 does not escape that command ( at least not on mine ). I verified all the same registry keys between v11 and v12 except for this escaping. In the DefaultIcon subkey Opera 11 uses "/" escaping, but Opera 12 does not.

Note-4 ... It is very possible that the "Edit" and "Print" handlers which call a Microsoft Office HTML Editor could be the original culprit here. In other words, when editing an HTML file using MSOHTMED.EXE that program just might go about resetting things to Microsoft's liking. All the more reason to keep this script around for emergencies. The next time you find yourself in that Office program, keep an eye out for changes. Also look for options or preferences that change the default browser ( or other 'hijacks' ) and uncheck them.

Note-5 ... To anyone except vinifera, keep in mind that this REG file is for Opera 11 and only when installed to that exact folder he has used. Others would need to modify that path. They also would need to be sure they have Office11 components in place for those "Edit" and "Print" subfeatures to work. Caveat Emptor.

Note-6 ... To everyone, "REGEDIT4" is used instead of "Windows Registry Editor Version 5.00" for backward compatibility with Win9x, it is inconsequential on WinXP, Vista, and 7. Also note that case corrections in the REG scripts are for legibility and are also inconsequential in this case.

Link to comment
Share on other sites

Cool. :thumbup: So as you can imagine, on that other system with Firefox you should find the exact same problem.

Check those two extension handlers and determine the class "xxx" they are pointing to.

[HKEY_LOCAL_MACHINE\Software\Classes\.htm]
@="xxx"

[HKEY_LOCAL_MACHINE\Software\Classes\.html]
@="xxx"


You will then follow it down to something like this with ( but the "xxx" being the actual class name ) ...

[HKEY_LOCAL_MACHINE\Software\Classes\xxx]

[HKEY_LOCAL_MACHINE\Software\Classes\
xxx\ShellEx] <------ Delete this key if there is only the next one beneath it

[HKEY_LOCAL_MACHINE\Software\Classes\xxx\ShellEx\IconHandler] <------ This is the actual icon handler
@="{42042206-2d85-11d3-8cff-005004838597}"

Naturally, save the registry ( export it completely from the top ) to have something to refer to if it gets messed up.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...