Notices: This section not yet converted to new layout. Download stats are rolling back out.

Mozilla Firefox

52.0.2

Package test results are passing.

This package was approved as a trusted package on 3/28/2017.

Bringing together all kinds of awesomeness to make browsing better for you.

Features

  • Freedom is fast: Go anywhere you want on the Web — with a quickness.
  • Freedom is personal: Enjoy the most built-in privacy tools of any browser.
  • Freedom is yours: people, not profit.

Notes

  • Looking for Firefox Developer Edition? Install the firefox-dev package.
  • Looking for Firefox Extended Support Release? Install the FirefoxESR package.
  • This package installs Firefox ESR in the first language which matches this list:

    1. Install arguments override parameter if present, e.g. choco install Firefox -packageParameters "l=en-GB".
      To get a list of all available locales have a look at this file: https://releases.mozilla.org/pub/firefox/releases/latest/README.txt.

    2. If Firefox is already installed: the same language as the already installed Firefox.

    3. The Windows system language where the Firefox package gets installed.

    4. If Firefox does not support the system language, it will fall back to “en-US”
      This package installs Firefox in the first language which matches this list:

To install Mozilla Firefox, run the following command from the command line or from PowerShell:

C:\> choco install firefox

To upgrade Mozilla Firefox, run the following command from the command line or from PowerShell:

C:\> choco upgrade firefox

Files

Hide
  • tools\chocolateyInstall.ps1 Show
    $ErrorActionPreference = 'Stop'
    # This is the general install script for Mozilla products (Firefox and Thunderbird).
    # This file must be identical for all Choco packages for Mozilla products in this repository.
    $toolsPath = Split-Path $MyInvocation.MyCommand.Definition
    . $toolsPath\helpers.ps1
    
    $packageName = 'Firefox'
    $softwareName = 'Mozilla Firefox'
    
    $allLocalesListURL = 'https://www.mozilla.org/en-US/firefox/all/'
    
    $alreadyInstalled = (AlreadyInstalled -product $softwareName -version '52.0.2')
    
    if (Get-32bitOnlyInstalled -product $softwareName) {
      Write-Output $(
        'Detected the 32-bit version of Firefox on a 64-bit system. ' +
        'This package will continue to install the 32-bit version of Firefox ' +
        'unless the 32-bit version is uninstalled.'
      )
    }
    
    if ($alreadyInstalled -and ($env:ChocolateyForce -ne $true)) {
      Write-Output $(
        "Firefox is already installed. " +
        'No need to download an re-install again.'
      )
    } else {
    
      $locale = GetLocale -localeUrl $allLocalesListURL -product $softwareName
      $checksums = GetChecksums -language $locale -checksumFile "$toolsPath\LanguageChecksums"
    
      $packageArgs = @{
        packageName = $packageName
        fileType = 'exe'
        softwareName = "$softwareName*"
    
        Checksum = $checksums.Win32
        ChecksumType = 'sha512'
        Url = "https://download.mozilla.org/?product=firefox-52.0.2-SSL&os=win&lang=${locale}"
    
        silentArgs = '-ms'
        validExitCodes = @(0)
      }
    
      if (!(Get-32bitOnlyInstalled($softwareName)) -and (Get-ProcessorBits 64)) {
        $packageArgs.Checksum64 = $checksums.Win64
        $packageArgs.ChecksumType64 = 'sha512'
        $packageArgs.Url64 = "https://download.mozilla.org/?product=firefox-52.0.2-SSL&os=win64&lang=${locale}"
      }
    
      Install-ChocolateyPackage @packageArgs
    }
    
  • tools\chocolateyUninstall.ps1 Show
    $ErrorActionPreference = 'Stop';
    
    $packageName = 'Firefox'
    
    $uninstalled = $false
    [array]$key = Get-UninstallRegistryKey -SoftwareName 'Mozilla Firefox*'
    
    if ($key.Count -eq 1) {
      $key | % {
        $packageArgs = @{
          packageName = $packageName
          fileType    = 'exe'
          silentArgs  = '-ms'
          validExitCodes= @(0)
          file          = "$($_.UninstallString.Trim('"'))"
        }
    
        Uninstall-ChocolateyPackage @packageArgs
    
        Write-Warning "Auto Uninstaller may detect Mozilla Maintenance Service."
        Write-Warning "This should not be uninstalled if any other Mozilla product is installed."
      }
    } elseif ($key.Count -eq 0) {
      Write-Warning "$packageName has already been uninstalled by other means."
    } elseif ($key.Count -gt 1) {
      Write-Warning "$($key.Count) matches found!"
      Write-Warning "To prevent accidental data loss, no programs will be uninstalled."
      Write-Warning "Please alert package maintainer the following keys were matched:"
      $key | % {Write-Warning "- $($_.DisplayName)"}
    }
    
  • tools\helpers.ps1 Show
    function GetUninstallPath() {
      param(
        [Parameter(Mandatory = $true)]
        [string]$product
      )
      $regUninstallDir = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\'
      $regUninstallDirWow64 = 'HKLM:\SOFTWARE\Wow432Node\Microsoft\Windows\CurrentVersion\Uninstall\'
    
      $uninstallPaths = $(Get-ChildItem $regUninstallDir).Name
    
      if (Test-Path $regUninstallDirWow64) {
        $uninstallPaths += $(Get-ChildItem $regUninstallDirWow64).Name
      }
    
      $uninstallPath = $uninstallPaths -match "$product [\d\.]+ \([^\s]+ [a-zA-Z\-]+\)" | select -first 1
      return $uninstallPath
    }
    
    function GetLocale {
      param(
        [Parameter(Mandatory = $true)]
        [string]$localeUrl,
        [Parameter(Mandatory = $true)]
        [string]$product
      )
      $availableLocales = Get-WebContent $localeUrl 2>$null
    
      $packageParameters = $env:chocolateyPackageParameters
    
      $packageParameters = if ($packageParameters -ne $null) { $packageParameters } else { "" }
    
      $argumentMap = ConvertFrom-StringData $packageParameters
      $localeFromPackageParameters = $argumentMap.Item('l')
    
      $uninstallPath = GetUninstallPath -product $product
    
      $alreadyInstalledLocale = $uninstallPath -replace ".+\s([a-zA-Z\-]+)\)",'$1'
    
      $systemLocalizeAndCountry = (Get-Culture).Name
      $systemLocaleTwoLetter = (Get-Culture).TwoLetterISOLanguageName
      $fallbackLocale = 'en-US'
    
      $locales = $localeFromPackageParameters, $alreadyInstalledLocale, `
        $systemLocalizeAndCountry, $systemLocaleTwoLetter, $fallbackLocale
    
        foreach ($locale in $locales) {
          $localeMatch = $availableLocales -match "os=win&lang=$locale`"" | select -first 1
          if ($localeMatch -and $locale -ne $null) {
            break
          }
        }
    
        return $locale
    }
    
    function AlreadyInstalled() {
      param(
        [Parameter(Mandatory = $true)]
        [string]$product,
        [Parameter(Mandatory = $true)]
        [string]$version
      )
      $uninstallEntry = $(
        "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$product $version*"
      )
      $uninstallEntryWow64 = $(
        "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\$product $version*"
      )
    
      if ((Test-Path $uninstallEntry) -or (Test-Path $uninstallEntryWow64)) {
        return $true
      }
    
      return $false
    }
    
    function Get-32bitOnlyInstalled() {
      param(
        [Parameter(Mandatory = $true)]
        [string]$product
      )
      $systemIs64bit = Get-ProcessorBits 64
    
      if (-Not $systemIs64bit) {
        return $false
      }
    
      $registryPaths = @(
        'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
        'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall'
      )
    
      $installedVersions = Get-ChildItem $registryPaths | ? { $_.Name -match "$product [\d\.]+ \(x(64|86)" }
    
      if (
        $installedVersions -match 'x86' `
        -and $installedVersions -notmatch 'x64' `
        -and $systemIs64bit
      ) {
        return $true
      }
    }
    
    function GetChecksums() {
      param(
        [Parameter(Mandatory = $true)]
        [string]$language,
        [Parameter(Mandatory = $true)]
        $checksumFile
      )
      Write-Debug "Loading checksums from: $checksumFile"
      $checksumContent = Get-Content $checksumFile
      $checksum32 = ($checksumContent -match "$language\|32") -split '\|' | select -last 1
      $checksum64 = ($checksumContent -match "$language\|64") -split '\|' | select -last 1
    
      return @{
        "Win32" = $checksum32
        "Win64" = $checksum64
      }
    }
    
  • tools\LanguageChecksums

Virus Scan Results

No results available for this package. We are building up results for older packages over time so expect to see results. If this is a new package, it should have results within a day or two.

Dependencies

Maintainer(s)

Software Author(s)

  • Mozilla

Tags

Release Notes

https://www.mozilla.org/en-US/firefox/52.0.2/releasenotes/

Version History

Version Downloads Last updated Status
Mozilla Firefox 52.0.1 60175 Saturday, March 18, 2017 approved
Mozilla Firefox 52.0 56371 Tuesday, March 7, 2017 approved
Mozilla Firefox 51.0.1 203370 Friday, January 27, 2017 approved
Mozilla Firefox 51.0 26256 Tuesday, January 24, 2017 approved
Mozilla Firefox 50.1.0 180470 Tuesday, December 13, 2016 approved
Mozilla Firefox 50.0.2 77413 Thursday, December 1, 2016 approved
Mozilla Firefox 50.0.1.20161130 14545 Wednesday, November 30, 2016 approved
Mozilla Firefox 50.0.1 23074 Monday, November 28, 2016 approved
Mozilla Firefox 50.0 77463 Tuesday, November 15, 2016 approved
Show More

Discussion for the Mozilla Firefox Package

Ground rules:

  • This discussion is only about Mozilla Firefox and the Mozilla Firefox package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Mozilla Firefox, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus