# Which registry keys need to be edited to change the default browser?

Which registry keys need to be edited to change the default browser?

I have found these keys so far and they seem to do what I want, but I am not sure if I have found all of them:

Data in:

HKEY_CURRENT_USER\Software\Classes\http\shell\open\command
HKEY_CURRENT_USER\Software\Classes\https\shell\open\command
HKEY_CURRENT_USER\Software\Classes\ftp\shell\open\command


Value in:

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache


Are there any other keys which would need to be changed, so that it is done perfectly?

-
A very comprehensive article about your question: How Does Your Browser Know that It’s Not The Default? –  Mehper C. Palavuzlar May 23 '11 at 10:46
@Mehper: Thanks. It looks like I have got them the right locations, other than the local filetypes, as Cosmin mentioned. –  paradroid May 23 '11 at 10:59
-1 You’re not supposed to be changing the default browser. This is something to be done by the end user. –  kinokijuf Oct 31 '13 at 16:15
I would make a registry backup and then change my browser, make another registry back up and use grigsoft.com/download-windiff.htm to compare them. –  NewProgrammerJames Oct 31 '13 at 16:54

Each browser sets its own registry entries. But you can try finding the common ones by comparing the REG files in these forum threads:

It looks like you missed some registry keys (.html, .htm, gopher etc.).

-
Thanks. I doubt any modern browsers still have any gopher:// support! –  paradroid May 23 '11 at 10:55

You don’t edit the registry manually. You execute the command specified by the browser creator in the key HKLM\SOFTWARE\Clients\StartMenuInternet\[BROWSER NAME.EXE]\InstallInfo, value ReinstallCommand.

For example, for MSIE it’s "C:\Windows\System32\ie4uinit.exe" -reinstall, and for Firefox it is "X:\path\to\Firefox\uninstall\helper.exe" /SetAsDefaultAppGlobal.

-
Also, it seems that most reliable way to find out default browser is to query HKCU\SOFTWARE\Clients\StartMenuInternet (notice HKCU instead of HKLM) and check the value. It will be IEXPLORE.EXE, FIREFOX.EXE, Google Chrome, Chromium.SOMERANDOMSTRING or OperaStable for the most popular browsers. This is more reliable than looking at HKCU\\Software\\Classes\\http\\shell\\open\\command because IE on Windows 7 doesn't seem to change that setting when you click "make default browser". –  jakub.g Dec 5 '14 at 14:55
@jakub.g The commands i posted are for HKLM. Never, ever, try to change the HKCU entries programmatically. –  kinokijuf Dec 5 '14 at 18:15

Which registry keys need to be edited to change the default browser? I have found these keys so far and they seem to do what I want, but I am not sure if I have found all of them…

You haven’t; you forgot .html files, .htm files, .url bookmarks, and so on.

The fact is that a browser is much like a media player. There is no single “default media-player” setting; rather there are separate and individual file-associations for each file-type and protocol that the media-player supports. The same goes for browser; there is no single “default browser” setting; only associations for each type it supports.

In the case of browsers, they usually support, at a minimum, .html and .htm files, .url bookmarks, and http, https, and ftp protocols.

I doubt any modern browsers still have any gopher:// support!

Says who? A browser could easily support the gopher protocol and archie and magnet links and emule links and .torrent files and .svg files and .mp4 files and Flash files and so on and so on.

To properly set a browser as “the default”, it has to be associated with each file-type and protocol that it supports (or at the very least, each one that you intend to use it with).

-
Gopher is/was nothing like a file type or a protocol link that would execute another program. It was a completely different form of browsing servers. All the mainstream browsers have long dropped support as far as I know. –  paradroid Dec 10 '13 at 18:26
@paradroid, actually, a link format was created, but it was too late by then because it had mostly fallen out of usage, but not completely; Lynx still supports it, and there’s no reaon that any given browser couldn’t support it (or any other obscure file-type or protocol for that matter). –  Synetech Dec 10 '13 at 22:20
My original comment about gopher support was about actually using it within the browser. When I was first using the internet at university, using Mosaic and later Netscape, there was a lot more content through gopher than than the new 'World Wide Web'. –  paradroid Dec 11 '13 at 22:55

Make sure you check

HKey_Local_Machine\Software\Classes\http\shell\open\command

That's where mine was set wrong.

-