Downloads of v 1.0:


Last Update:

14 Jan 2015

Package Maintainer(s):

Software Author(s):

  • David Sailors


PackageName admin

PackageName Title



Downloads of v 1.0:



Software Author(s):

  • David Sailors

  • 1
  • 2
  • 3
PackageName Title

  • 1
  • 2
  • 3

All Checks are Unknown

2 Tests in Unknown Status

Validation Testing Unknown

Verification Testing Unknown

Scan Testing Unknown

This package was rejected on 20 Jan 2015. The reviewer purity has listed the following reason(s):

Assuming this was only a test with no other purpose, so this can be rejected.


This is a description of my first Choco Package

# ---------------- Function definitions ------------------

function GetUninstallPath () {
  $regUninstallDir = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\'
  $regUninstallDirWow64 = 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\'

  $uninstallPaths = $(Get-ChildItem $regUninstallDir).Name

  if (Test-Path $regUninstallDirWow64) {
    $uninstallPaths += $(Get-ChildItem $regUninstallDirWow64).Name

  $uninstallPath = $uninstallPaths -match "Mozilla Firefox [\d\.]+ \([^\s]+ [a-zA-Z\-]+\)" | Select -First 1
  return $uninstallPath

function GetLocale($installArguments) {

  $availableLocales = Get-Content "$env:TEMP\chocolatey\Firefox\availableLocales.html"

  # --- Get locale from installArgs if specified

  $argumentMap = ConvertFrom-StringData $installArguments
  $localeFromInstallArgs = $argumentMap.Item('l')

  # ---

  # --- Get already installed locale if available

  $uninstallPath = GetUninstallPath($null)

  $alreadyInstalledLocale = $uninstallPath -replace ".+\s([a-zA-Z\-]+)\)", '$1'

  # ---

  # --- Other locales

  $systemLocaleAndCountry = (Get-Culture).Name
  $systemLocaleTwoLetter = (Get-Culture).TwoLetterISOLanguageName
  $fallbackLocale = 'en-US'

  # ---

  $locales = $localeFromInstallArgs, $alreadyInstalledLocale, $systemLocaleAndCountry, $systemLocaleTwoLetter, $fallbackLocale

  foreach ($locale in $locales) {
    $localeMatch = $availableLocales -match "os=win&lang=$locale`"" | Select -First 1
    if ($localeMatch -and $locale -ne $null) {

  return $locale

function AlreadyInstalled($version) {
  $uninstallEntry = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox ${version}*"
  $uninstallEntryWow64 = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox ${version}*"

  if ((Test-Path $uninstallEntry) -or (Test-Path $uninstallEntryWow64)) {
    return $true
  } else {
    return $false

# ----------------------------------

$packageName = 'Firefox'
$fileType = 'exe'
$version = '34.0.5'

$urlFile = ''
$filePath = "$env:TEMP\chocolatey\$packageName"

try {
    $alreadyInstalled = AlreadyInstalled($version)

  if ($alreadyInstalled) {
    Write-Host "Firefox $version is already installed."
  } else {

    if (-not (Test-Path $filePath)) {
      New-Item -ItemType directory -Path $filePath

    Get-ChocolateyWebFile 'locales list for Firefox' "$env:TEMP\chocolatey\$packageName\availableLocales.html" $urlFile

    $locale = GetLocale($installArguments)

    $url = "$version&os=win&lang=$locale"

    Install-ChocolateyPackage $packageName $fileType '-ms' $url

} catch {
  Write-ChocolateyFailure $packageName $($_.Exception.Message)

$packageName = 'firefox'
$type = 'exe'
$file = 'C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe'
$silentArgs = '/s'
Uninstall-ChocolateyPackage "$packageName" "$type" "$silentArgs" "$file"

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.

Add to Builder Version Downloads Last Updated Status

This package has no dependencies.

Discussion for the PackageName Title Package

Ground Rules:

  • This discussion is only about PackageName Title and the PackageName Title 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 PackageName Title, 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