Set Internet Explorer as the default browser from the command line

All we need is an easy explanation of the problem, so here it is.

Is it possible to set Internet Explorer as the default browser to launch from the command line?

I have a web application that only runs under Internet Explorer, but if it happens that Firefox is the default browser, it doesn’t work. Users are in a domain environment and even though I try to launch our application from a batch in this way:

start "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

the application doesn’t start unless I change the browser manually.

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

This command will set IE as the default browser:

shmgrate.exe OcinstallreinstallIE

This policy should stop people determining the default browser.

Method 2

you can try this, it will work

start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

the error in your command was that start expects first quoted string to be the title of the application, which in this case you can leave empty.

for setting iexplorer.exe as system’s default web browser, you can use assoc and ftype commands, which associate extensions with file types, and file types with executable files, like so:

assoc .html=htmlfile
ftype htmlfile="C:\Program Files\Internet Explorer\iexplore.exe" %1

%1 is the argument here – that is the URL or the file that you can send to the program as an input

Method 3

Windows Vista and later, IE 7+

The following batch script simulates clicking Set this programs as default from the Default Programs control panel applet. Tested with Vista/7 and IE 7/IE 11.

@echo off
setlocal enabledelayedexpansion

REM -- check XHTML support (IE 9+)
set xhtml=0
for /f %%G in ('"reg query "HKCR\IE.AssocFile.XHT" /ve 2>&1 | findstr /c:".XHT" "') do set xhtml=1

REM -- reset file extensions
set exts=HTM,HTML
if %xhtml% == 1 (set exts=%exts%,XHT,XHTML)

for %%G in (%exts%) do (
set ext=%%G
set ext=!ext:~0,3!
reg add "HKCU\Software\Classes\.%%G" /ve /t REG_SZ /d "IE.AssocFile.!ext!" /f >nul
)

set exts=%exts%,MHT,MHTML,URL
set acl=%temp%\acl_%random%%random%.txt

for %%G in (%exts%) do (
set key=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%%G\UserChoice
echo !key! [1 7 17]>"%acl%"
regini "%acl%" >nul
set ext=%%G
set ext=!ext:~0,3!
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.AssocFile.!ext!" /f >nul
)
del "%acl%" 2>nul

REM -- reset MIME associations
for %%G in (message/rfc822,text/html) do (
set key=HKCU\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations\%%G\UserChoice
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.%%G" /f >nul
)

REM -- reset URL protocols
for %%A in (FTP,HTTP,HTTPS) do (
set key=HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\%%A\UserChoice
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.%%A" /f >nul
for %%B in (DefaultIcon,shell) do (
set key=HKCU\Software\Classes\%%A
reg delete "!key!\%%B" /f >nul 2>&1
reg copy "HKCR\IE.%%A\%%B" "!key!\%%B" /s /f >nul
reg add "!key!" /v "EditFlags" /t REG_DWORD /d 2 /f >nul
reg add "!key!" /v "URL Protocol" /t REG_SZ /d "" /f >nul
))

REM -- reset the start menu Internet link (Vista and earlier)
reg add "HKCU\Software\Clients\StartMenuInternet" /ve /t REG_SZ /d "IEXPLORE.EXE" /f

REM -- reset cached icons
if %xhtml% == 1 (
ie4uinit -cleariconcache
) else (
taskkill /im explorer.exe /f >nul
start explorer
)

pause
exit /b

Remarks

Any web browser application can register to appear as an Internet client on the Start menu. This visibility, coupled with proper registration for an application’s file and protocol types, gives an application default browser status. The default web browser is used for launching arbitrary URLs from anywhere in the system.

Note Existing [start menu link] registrations are ignored in Windows 7 and later. This registration is deprecated as of Windows 7.

Source: How to Register an Internet Browser or Email Client With the Windows Start Menu

­­

The hierarchical registry structure for file and protocol associations gives precedence to per-user defaults over machine-level defaults.

Source: Default Programs

Method 4

You can add below two lines in a bat file

reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /f /v "Check_Associations" /d "yes" /t REG_SZ

reg add "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice" /f /v "ProgId" /d "IE.HTTP" /t REG_SZ

After running the bat, reboot/log off and log back since above two command lines are meant to change registry values..

Aditinal details can be found here

(Fixed)-Cant set Internet Explorer as the Default Browser !
http://www.windowstechinfo.com/2016/03/fixed-cant-set-internet-explorer-as-the-default-browser.html

Method 5

I don’t know about setting the default browser from the command line, but you can set and enforce it for the domain via group policy.

Here’s something to get you started:

http://technet.microsoft.com/en-us/library/hh147307%28WS.10%29.aspx

Method 6

Just drop the start to get the command or batch file to work.

"C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

Method 7

For Windows 8 (IE 10+) it’s easy VBS script:

Dim URL 
Dim IE 
Set IE = CreateObject("internetexplorer.application")
URL = "res://ieframe.dll/defaultbrowser.htm" 
IE.Visible = True
IE.Navigate URL


 Do While IE.Busy
    WScript.Sleep 100
 Loop

IE.Document.getElementById("changeDefaultButton").Click

It will start IE page for changing IE as default and simulate click on button for accept.

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply