30

I've tried setting default in the reg keys:

hkeycu>software>microsoft>windows>shell>associations>urlassociations>http and https.

Tried using master_preference file.

Tried using command switch --make-default-browser.

So far these aren't working.

Any help would be appreciated. Open to any to batch files, registry keys, file replacements/edits... basically anything I can automate.

5

10 Answers 10

13

Have you tried making a .vbs file to set Chrome as the default browser automatically?

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "%windir%\system32\control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=google%20chrome"
WScript.Sleep 1200
WshShell.SendKeys "{TAB}"
WshShell.SendKeys " "
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys " "
WScript.Quit

Reference: comment by user "Raz" in Making IE the default browser in Windows 10 during OSD

6
  • Wow, that actually worked! Thanks a lot for this; I've been wanting a way to do this for ages!
    – Sam
    Apr 5 '17 at 23:47
  • Also, if you want to run this on startup, just put the .vbs file in %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
    – Sam
    Apr 6 '17 at 0:35
  • 1
    Also, you can simplify the SendKeys bits into just WshShell.SendKeys "{TAB} {TAB}{TAB} ".
    – Sam
    Apr 14 '17 at 3:29
  • 2
    I've noticed that this makes Chrome the default for all file types it can open. This overrides the default for opening PDFs to Chrome which isn't preferred in my particular situation. Would it be possible to avoid the PDF filetype being modified? (.html, .shtml, .htm, etc - pretty much everything except PDF). I suppose I'm looking to replicate the behaviour of changing 'Web Browser' in "Default Apps" (automatically, and ideally silently).
    – Ellipsis
    Jan 26 '18 at 8:52
  • 2
    Doesn't work in Windows 10 1809
    – MickyD
    Jun 11 '19 at 4:54
9

To change default browser in Windows 10 try the tool from Christoph Kolbicz - https://kolbi.cz/blog/2017/11/10/setdefaultbrowser-set-the-default-browser-per-user-on-windows-10-and-server-2016-build-1607/.

Launched SetDefaultBrowser.exe HKLM "Google Chrome" and it worked fine for me.

2
  • This should be the accepted answer
    – Sam
    Apr 9 '20 at 21:43
  • I'm happy to report that this does not affect which app opens PDFs by default. So far, this works great for me. Fast and reliable. May 28 '20 at 17:42
3

Here is the PowerShell version of the Judy Li / Raz solution:

function Set-ChromeAsDefaultBrowser {
    Add-Type -AssemblyName 'System.Windows.Forms'
    Start-Process $env:windir\system32\control.exe -ArgumentList '/name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=google%20chrome'
    Sleep 2
    [System.Windows.Forms.SendKeys]::SendWait("{TAB} {TAB}{TAB} ")
}
1
  • What does the part \pageAdvancedSettings?pszAppName=google%20chrome do? I don't see any difference when omitting this part. Aug 20 at 7:27
2

The answer from Judy Li still worked for me on 2021-01-04 with the latest windows 10 built. However, I had to update the the number of tab's and sleep commands.

The updated steps are:

  1. Create a VBS files with the code below
  2. Open folder shell:startup with [win]+[r] or file explorer
  3. Store the file in the startup folder to execute the script with each restart

VBS Code

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

' Open the default settings window
WshShell.Run "%windir%\system32\control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=google%20chrome"
WScript.Sleep 5000 ' Wait until open (adjust if necessary)

' Adjust number of tabs until you reach the browser choice setting
WshShell.SendKeys "{TAB}" 
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"

' Open the browser choice menu
WshShell.SendKeys " " 
WScript.Sleep 500 ' Wait until open

WshShell.SendKeys "{TAB}" ' Move down one selection
WshShell.SendKeys " " ' Set current selection as default browser

WScript.Sleep 500 ' Wait until open
' Uncomment the line below to outomatically close the settings window
' WshShell.SendKeys "%{F4}" 
WScript.Quit
0

I modified the script above so that it will only change the default browser and not any of the other settings (mail, pdf, etc.) So this mimics changing the default browser usuing the Default Apps in Windows 10.

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "%windir%\system32\control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=google%20chrome"
WScript.Sleep 1200
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"   
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys " "
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys " "
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys " "
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys " "
WshShell.SendKeys "{TAB}"
WshShell.SendKeys " "
WScript.Quit
0

This is not fully automated but reduces the steps required. Go to Settings, find "Default Apps" and right click on it and choose "Pin to Start". You can then get back to the selection screen in 2 clicks.

0

Thanks a ton @BenH. You just saved my day.

On Server 2016, I had to use TABENTERTAB instead of TABTABTAB and it is working perfectly fine !

    function Set-ChromeAsDefaultBrowser {
    Add-Type -AssemblyName 'System.Windows.Forms'
    Start-Process $env:windir\system32\control.exe -ArgumentList '/name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=google%20chrome'
    Sleep 2
    [System.Windows.Forms.SendKeys]::SendWait("{TAB} {ENTER} {TAB}")
}
0
function Set-DefaultBrowser {
Add-Type -AssemblyName 'System.Windows.Forms'
Start-Process $env:windir\system32\control.exe -LoadUserProfile -Wait -ArgumentList '/name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=Firefox-308046B0AF4A39CB'
Sleep 10
[System.Windows.Forms.SendKeys]::SendWait("{TAB}{TAB}{TAB}{TAB}{TAB} {ENTER}{ENTER} ")
}
Set-DefaultBrowser;

Worked for me in GCP Windows 10 image in setting Chrome as default browser.

-1

Take the script from Judy Li’s answer and tweak it.

Option Explicit
Dim oShell, sWinDir
Set oShell = WScript.CreateObject("WScript.Shell")
sWinDir = oShell.ExpandEnvironmentStrings("%WINDIR%")
oShell.Run sWinDir & "\system32\control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram"
Set oShell = Nothing
WScript.Quit

Save it on your desktop as a .vbs file (e.g., SetDefaultProgams.vbs).  Double clicking it will bring up the more familiar Set Default Programs with the list on the left, like previous versions of Windows 10.

(Of course there are other ways to invoke a program / script.  You could put it on your Start Menu, or run it through CMD or PowerShell.)

This script was tested by me on Windows version 10.0.16299.192.

-1

If you want to squash it globally, for all users, edit the C:\Windows\System32\OEMDefaultAssociations.xml

For example, here's my OEMDefaultAssociations.xml file. I have a script that pulls this file down from an S3 bucket and applies it as part of the machine provisioning process.

<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
  <Association Identifier=".3g2" ProgId="WMP11.AssocFile.3G2" ApplicationName="Windows Media Player" />
  <Association Identifier=".3gp" ProgId="WMP11.AssocFile.3GP" ApplicationName="Windows Media Player" />
  <Association Identifier=".3gp2" ProgId="WMP11.AssocFile.3G2" ApplicationName="Windows Media Player" />
  <Association Identifier=".3gpp" ProgId="WMP11.AssocFile.3GP" ApplicationName="Windows Media Player" />
  <Association Identifier=".aac" ProgId="WMP11.AssocFile.ADTS" ApplicationName="Windows Media Player" />
  <Association Identifier=".adt" ProgId="WMP11.AssocFile.ADTS" ApplicationName="Windows Media Player" />
  <Association Identifier=".adts" ProgId="WMP11.AssocFile.ADTS" ApplicationName="Windows Media Player" />
  <Association Identifier=".avi" ProgId="WMP11.AssocFile.AVI" ApplicationName="Windows Media Player" />
  <Association Identifier=".bmp" ProgId="PBrush" ApplicationName="Paint" />
  <Association Identifier=".dib" ProgId="PBrush" ApplicationName="Paint" />
  <Association Identifier=".flac" ProgId="WMP11.AssocFile.FLAC" ApplicationName="Windows Media Player" />
  <Association Identifier=".gif" ProgId="PBrush" ApplicationName="Paint" />
  <Association Identifier=".jfif" ProgId="PBrush" ApplicationName="Paint" />
  <Association Identifier=".jpe" ProgId="PBrush" ApplicationName="Paint" />
  <Association Identifier=".jpeg" ProgId="PBrush" ApplicationName="Paint" />
  <Association Identifier=".jpg" ProgId="PBrush" ApplicationName="Paint" />
  <Association Identifier=".m2t" ProgId="WMP11.AssocFile.M2TS" ApplicationName="Windows Media Player" />
  <Association Identifier=".m2ts" ProgId="WMP11.AssocFile.M2TS" ApplicationName="Windows Media Player" />
  <Association Identifier=".m3u" ProgId="WMP11.AssocFile.m3u" ApplicationName="Windows Media Player" />
  <Association Identifier=".m4a" ProgId="WMP11.AssocFile.M4A" ApplicationName="Windows Media Player" />
  <Association Identifier=".m4v" ProgId="WMP11.AssocFile.MP4" ApplicationName="Windows Media Player" />
  <Association Identifier=".mkv" ProgId="WMP11.AssocFile.MKV" ApplicationName="Windows Media Player" />
  <Association Identifier=".mod" ProgId="WMP11.AssocFile.MPEG" ApplicationName="Windows Media Player" />
  <Association Identifier=".mov" ProgId="WMP11.AssocFile.MOV" ApplicationName="Windows Media Player" />
  <Association Identifier=".MP2" ProgId="WMP11.AssocFile.MP3" ApplicationName="Windows Media Player" />
  <Association Identifier=".mp3" ProgId="WMP11.AssocFile.MP3" ApplicationName="Windows Media Player" />
  <Association Identifier=".mp4" ProgId="WMP11.AssocFile.MP4" ApplicationName="Windows Media Player" />
  <Association Identifier=".mp4v" ProgId="WMP11.AssocFile.MP4" ApplicationName="Windows Media Player" />
  <Association Identifier=".mpa" ProgId="WMP11.AssocFile.MPEG" ApplicationName="Windows Media Player" />
  <Association Identifier=".MPE" ProgId="WMP11.AssocFile.MPEG" ApplicationName="Windows Media Player" />
  <Association Identifier=".mpeg" ProgId="WMP11.AssocFile.MPEG" ApplicationName="Windows Media Player" />
  <Association Identifier=".mpg" ProgId="WMP11.AssocFile.MPEG" ApplicationName="Windows Media Player" />
  <Association Identifier=".mpv2" ProgId="WMP11.AssocFile.MPEG" ApplicationName="Windows Media Player" />
  <Association Identifier=".mts" ProgId="WMP11.AssocFile.M2TS" ApplicationName="Windows Media Player" />
  <Association Identifier=".png" ProgId="PBrush" ApplicationName="Paint" />
  <Association Identifier=".tif" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
  <Association Identifier=".tiff" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
  <Association Identifier=".TS" ProgId="WMP11.AssocFile.TTS" ApplicationName="Windows Media Player" />
  <Association Identifier=".TTS" ProgId="WMP11.AssocFile.TTS" ApplicationName="Windows Media Player" />
  <Association Identifier=".txt" ProgId="txtfile" ApplicationName="Notepad" />
  <Association Identifier=".url" ProgId="IE.AssocFile.URL" ApplicationName="Internet Browser" />
  <Association Identifier=".wav" ProgId="WMP11.AssocFile.WAV" ApplicationName="Windows Media Player" />
  <Association Identifier=".website" ProgId="IE.AssocFile.WEBSITE" ApplicationName="Internet Explorer" />
  <Association Identifier=".wm" ProgId="WMP11.AssocFile.ASF" ApplicationName="Windows Media Player" />
  <Association Identifier=".wma" ProgId="WMP11.AssocFile.WMA" ApplicationName="Windows Media Player" />
  <Association Identifier=".wmv" ProgId="WMP11.AssocFile.WMV" ApplicationName="Windows Media Player" />
  <Association Identifier=".WPL" ProgId="WMP11.AssocFile.WPL" ApplicationName="Windows Media Player" />
  <Association Identifier=".htm" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
  <Association Identifier=".html" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
  <Association Identifier=".url" ProgId="IE.AssocFile.URL" ApplicationName="Google Chrome" />
  <Association Identifier=".webp" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
  <Association Identifier="ftp" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
  <Association Identifier="http" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
  <Association Identifier="https" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
</DefaultAssociations>
2
  • Question is about making chrome default browser, not making it default program for some file types. Apr 9 '20 at 15:53
  • well...what is a "default browser" except the program that gets launched when the user clicks a link to visit a web page?
    – NitrusCS
    Apr 9 '20 at 22:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.