Google Chrome MSI 1603 Failures: The Why and How To Fix

  • 26 June 2019
  • Sean Huggans

Note in 2020 and beyond: In my opinion, you should be using Edge in your enterprise environment at this point. It offers all the same benefits (and engine) as chrome, but with o365 accounts, IE mode for sites that need it (think a single browser in your environment without the need to manage shortcuts to open specific sites in this or that browser), and enhanced security.

Original Post:
I've been noticing packages for Chrome installers have been failing as of late. While ADMX templates for the chromium based Edge Preview browser have been released, support for the Enterprise Mode Site List (and thus, IE mode) have not been added yet, so we must continue to support Chrome and IE for now. So doing some deeper digging - it appears that the enterprise chrome msi installer must still use the Google Updater application to install. If you have this disabled via ADMX templates, it will fail to install even on clean installs. You can either change this to allow installation of Google Software via Google Updater, or you can temporarily override it in your installation script for Chrome by adding the command shown below.

Enjoy!

Code: 
# Magic Line To Add
New-ItemProperty -Name "InstallDefault" -Path "HKLM:\SOFTWARE\Policies\Google\Update" -Value 1 -force | Out-Null
 
# Full Installer Script For Google Chrome Is Given Below
 
###########################################################
# Google Chrome Installation Script
# Script By: Sean Huggans
###########################################################
# Script Variables
##########################
$AppName = "Google Chrome"
$Version = "75.0.3770.100"
$AppVendorName = "Google"
$InstallerFile = "googlechromestandaloneenterprise.msi"
if (Test-Path "C:\Program Files (x86)") {
    $InstallerFile = "googlechromestandaloneenterprise64.msi"
}
$LogFile = "$($AppName)-$($Version)-Install.log"
$LogDir = "C:\Windows\Logs\Software"
$LogPath = "$($LogDir)\$($LogFile)"
 
##########################
# Script Functions
##########################
 
function Log-Action ($Message, $StampDateTime)
{
    ################################
    # Function Version 18.4.14.1
    # Function by Sean Huggans
    ################################
	New-Item -ItemType directory -Path $LogDir -Confirm:$false -Force | out-null
    if (($StampDateTime -eq $false) -or ($StampDateTime -eq "no")) {
        $Message | Out-File $LogPath -Append
    } else {
	    "[ $(get-date -Format 'yyyy.MM.dd HH:mm:ss') ] $($Message)" | Out-File $LogPath -Append
    }
}
 
function ErrorOut-Script {
    Log-Action "Installation has failed.  See above for details."
    exit
}
 
function Install-ApplicationFromMSI ($MSIFile) {
    Log-Action "Starting MSI Installation..."
    $InstallerProcess = start-process MSIExec -ArgumentList "/i ""$($PSScriptRoot)\$($MSIFile)"" /qn NOGOOGLEUPDATING=1  /l*v ""$($LogDir)\$($MSIFile.Replace('.msi',''))-$($Version)-MSIOutput.log""" -Wait -NoNewWindow -verbose -passthru
    if ($InstallerProcess.ExitCode -eq 0) {
        Log-Action "Finished MSI Installation successfully, see ""$($LogDir)\$($MSIFile.Replace('.msi',''))-$($Version)-MSIOutput.log"" for details."
        return $true
    } else {
        Log-Action "Error: MSI Installation exited with a non-zero error code $($InstallerProcess.ExitCode), see ""$($LogDir)\$($MSIFile.Replace('.msi',''))-$($Version)-MSIOutput.log"" for details."
        return $False
    }
}
 
##########################
# Execution Logic
##########################
 
Log-Action -Message "=================================================================================================" -StampDateTime $False
Log-Action -Message "= $($AppName) Installation | Version: $($Version)" -StampDateTime $False
Log-Action -Message "=================================================================================================" -StampDateTime $False
Log-Action -Message "Installation script started..."
Try {
    # Allow Google Install via Google Updater (needed)
    New-ItemProperty -Name "InstallDefault" -Path "HKLM:\SOFTWARE\Policies\Google\Update" -Value 1 -force | Out-Null
    Log-Action -Message "Set item to allow install through Google Updater to True."
    if ($(Install-ApplicationFromMSI -MSIFile $InstallerFile) -eq $true) {
        Log-Action -Message "Installation script completed."
    } else {
        ErrorOut-Script
    }
} catch {
    Log-Action -Message "Error: Setting item to allow install through Google Updater failed!"
    ErrorOut-Script
}

Vendor Links

Error | visuaFUSION Systems Solutions Blog

Error message

  • Warning: Cannot modify header information - headers already sent by (output started at /mnt/home/visuafus/public_html/bahusa.net/includes/common.inc:2861) in drupal_send_headers() (line 1551 of /mnt/home/visuafus/public_html/bahusa.net/includes/bootstrap.inc).
  • Error: Call to undefined function mail() in DefaultMailSystem->mail() (line 79 of /mnt/home/visuafus/public_html/bahusa.net/modules/system/system.mail.inc).

Error

The website encountered an unexpected error. Please try again later.