# 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?

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

You can change default browser with with .bat and .vbs file.

There is a code to make: - IE Default browser for WIN10

===IE_Microsoft_DefaultPrograms.bat===

@echo off
cls
echo   --==**##  IE default browser ##**==--
REM Run GUI
cscript //NoLogo IEdefault.vbs
timeout /t 1 /nobreak > NUL
echo Done


===IEdefault.vbs===

Set WshShell = WScript.CreateObject("WScript.Shell")

' IE Default browser for WIN10
WshShell.Run "%windir%\system32\control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=Internet%20Explorer"

' Give Default Programs time to load
WScript.Sleep 2000

' WshShell.AppActivate "Set Program Associations"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys " "
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys " "

Msgbox "Default browser is Internet Explorer."

WScript.Quit

• "In Windows 10 you can not directly edit registry" Huh. Where does this come from? Can you provide a reference? – DavidPostill Sep 13 '16 at 9:34
HKey_Local_Machine\Software\Classes\http\shell\open\command