Popular Searches

Installing Chrome/Firefox on a New Windows Server, the Easy Way

Windows Server logo

Windows Server comes with default “Enhanced Security Configuration” protections for Internet Explorer that block websites that aren’t trusted. The problem? This blocks you from installing a proper browser like Chrome and getting on with the rest of your job.

Disabling IE Protections

The way to properly disable IE Enhanced Security Configuration is to open up the Server Manager app, and then click “Configure this local server.”

Click "Configure this local server" in the Server Manager app

Next, under “Properties,” find IE Enhanced Security Configuration and turn it off.

Under "Properties," find IE Enhanced Security Configuration and turn it off

From there, you can open up IE, download the Chrome/Firefox installer, and get on with your day.

If that doesn’t work, you can try manually enabling file downloads under Internet Options > Security > Custom Level > Downloads.

The Easy Way (with PowerShell)

Of course, there’s a quicker way to do this using a PowerShell script.

The following script will download the Chrome installer and run it, and Chrome will be auto-installed. You can then launch it from the desktop icon or the start menu.

$Path = $env:TEMP; $Installer = "chrome_installer.exe"; Invoke-WebRequest "http://dl.google.com/chrome/chrome_installer.exe" -OutFile $Path\$Installer; Start-Process -FilePath $Path\$Installer -Args "/silent /install" -Verb RunAs -Wait; Remove-Item $Path\$Installer

If you’re using Windows Server 2012, you can use this script instead:

$LocalTempDir = $env:TEMP; $ChromeInstaller = "ChromeInstaller.exe"; (new-object System.Net.WebClient).DownloadFile('http://dl.google.com/chrome/install/375.126/chrome_installer.exe', "$LocalTempDir\$ChromeInstaller"); & "$LocalTempDir\$ChromeInstaller" /silent /install; $Process2Monitor =  "ChromeInstaller"; Do { $ProcessesFound = Get-Process | ?{$Process2Monitor -contains $_.Name} | Select-Object -ExpandProperty Name; If ($ProcessesFound) { "Still running: $($ProcessesFound -join ', ')" | Write-Host; Start-Sleep -Seconds 2 } else { rm "$LocalTempDir\$ChromeInstaller" -ErrorAction SilentlyContinue -Verbose } } Until (!$ProcessesFound)

Auto-Installing on AWS

If you’re on AWS, then you’re in luck, because you can automatically run commands on server creation using EC2 User Data.

When you create the server, you can upload a text file or just paste in the command. You can also automate this process if you’re launching from the CLI.

When you create the server, you can upload a text file or just paste in the command

Then, all you need to do is paste the Powershell script within a <powershell> block, like so:

$Path = $env:TEMP; $Installer = "chrome_installer.exe"; Invoke-WebRequest "http://dl.google.com/chrome/chrome_installer.exe" -OutFile $Path\$Installer; Start-Process -FilePath $Path\$Installer -Args "/silent /install" -Verb RunAs -Wait; Remove-Item $Path\$Installer
Anthony Heddings Anthony Heddings
Anthony Heddings is the resident cloud engineer for LifeSavvy Media, a technical writer, programmer, and an expert at Amazon's AWS platform. He's written hundreds of articles for How-To Geek and CloudSavvy IT that have been read millions of times. Read Full Bio »

The above article may contain affiliate links, which help support CloudSavvy IT.