Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

214

Downloads of v 8.0.102:

214

Last Update:

19 Jun 2018

Package Maintainer(s):

Software Author(s):

  • Oracle

Tags:

java runtime environment

Java SE Runtime Environment

Downloads:

214

Downloads of v 8.0.102:

214

Maintainer(s):

Software Author(s):

  • Oracle

Java SE Runtime Environment

  • 1
  • 2
  • 3

All Checks are Passing

3 Passing Tests


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Successful:

No detections found in any package files

Details
WARNING

This package was rejected on 05 Jan 2019. The reviewer chocolatey-ops has listed the following reason(s):

rayblue (maintainer) on 19 Jun 2018 10:01:58 +00:00:

User 'rayblue' (maintainer) submitted package.

chocolatey-ops (reviewer) on 19 Jun 2018 10:35:19 +00:00:

jre8.0.102 has passed automated validation. It may have or may still fail other checks like testing (verification).
NOTE: No required changes that the validator checks have been flagged! It is appreciated if you fix other items, but only Requirements will hold up a package version from approval. A human review could still turn up issues a computer may not easily find.

Guidelines

Guidelines are strong suggestions that improve the quality of a package version. These are considered something to fix for next time to increase the quality of the package. Over time Guidelines can become Requirements. A package version can be approved without addressing Guideline comments but will reduce the quality of the package.

  • The nuspec has been enhanced to allow packageSourceUrl, pointing to the url where the package source resides. This is a strong guideline because it simplifies collaboration. Please add it to the nuspec. More...
  • Release Notes (releaseNotes) are a short description of changes in each version of a package. Please include releasenotes in the nuspec. NOTE: To prevent the need to continually update this field, providing a URL to an external list of Release Notes is perfectly acceptable. More...
  • Write-ChocolateySuccess/Write-ChocolateyFailure have been deprecated, but have been found in the package's automation scripts. Remove the usage of those two functions. If there is an error, throw the error. More... This can also give a false positive for commented code with the words:
    • Write-ChocolateySuccess
    • Write-ChocolateyFailure
  • Summary (summary) is a short explanation of the software. Please include summary in the nuspec. More...
Suggestions

Suggestions are either newly introduced items that will later become Guidelines or items that are don't carry enough weight to become a Guideline. Either way they should be considered. A package version can be approved without addressing Suggestion comments.

  • The nuspec has been enhanced to allow more information related to the software. More... Please consider adding one or more of the following to the nuspec, if available:
    • docsUrl - points to the location of the wiki or docs of the software
    • mailingListUrl - points to the forum or email list group for the software
    • bugTrackerUrl - points to the location where issues and tickets can be accessed
    • projectSourceUrl - points to the location of the underlying software source
Notes

Notes typically flag things for both you and the reviewer to go over. Sometimes this is the use of things that may or may not be necessary given the constraints of what you are trying to do and/or are harder for automation to flag for other reasons. Items found in Notes might be Requirements depending on the context. A package version can be approved without addressing Note comments.

  • The package maintainer field (owners) matches the software author field (authors) in the nuspec. The reviewer will ensure that the package maintainer is also the software author. More...
  • Package automation scripts make use of msiexec. The reviewer will ensure there is a valid reason the package has not used the built-in helpers. More...
  • The package id includes dots (.). Usually the package id is separated by '-' instead of dots (except in the case of *.install and *.portable). The reviewer will ensure this is not a new package. More...

chocolatey-ops (reviewer) on 19 Jun 2018 11:13:06 +00:00:

jre8.0.102 has passed automated testing.
This is not the only check that is performed so check the package page to ensure a 'Ready' status.
Please visit https://gist.github.com/5399e49ea5dfce9572533ef0a2001f62 for details.
This is an FYI only. There is no action you need to take.

gep13 (reviewer) on 22 Jun 2018 09:38:19 +00:00:

Hello,

Can you please help me understand why this package is required.

Is this not covered over here:

https://chocolatey.org/packages/jre8

If you need this specific package version, I would encourage you to work with the maintainers of that package to push that specific package version, rather than duplicate the package.

Gary

rayblue (maintainer) on 22 Jun 2018 09:45:07 +00:00:

Can you do me a favor that how can i contact the maintainer of jre8?

flcdrg (reviewer) on 28 Jun 2018 01:16:25 +00:00:

Use the 'Contact Maintainers' link located in the list on the left-hand side of the page. eg. https://chocolatey.org/packages/jre8/ContactOwners

David

rayblue (maintainer) on 28 Jun 2018 02:22:14 +00:00:

Thanks a lot. I have sent the message to them. Waiting for their reply.

gep13 (reviewer) on 11 Jul 2018 12:58:16 +00:00:

Thanks for replying about this. Let us know how you would like to proceed with this.

chocolatey-ops (reviewer) on 21 Dec 2018 11:03:54 +00:00:

We've found jre8.0.102 v8.0.102 in a submitted status and waiting for your next actions. It has had no updates for 20 or more days since a reviewer has asked for corrections. Please note that if there is no response or fix of the package within 15 days of this message, this package version will automatically be closed (rejected) due to being stale.

Take action:

  • Log in to the site and respond to the review comments.
  • Resubmit fixes for this version.
  • If the package version is failing automated checks, you can self-reject the package.

If your package is failing automated testing, you can use the chocolatey test environment to manually run the verification and determine what may need to be fixed.

Note: We don't like to see packages automatically rejected. It doesn't mean that we don't value your contributions, just that we can not continue to hold packages versions in a waiting status that have possibly been abandoned. If you don't believe you will be able to fix up this version of the package within 15 days, we strongly urge you to log in to the site and respond to the review comments until you are able to.

chocolatey-ops (reviewer) on 05 Jan 2019 11:08:49 +00:00:

Unfortunately there has not been progress to move jre8.0.102 v8.0.102 towards an approved status within 15 days after the last review message, so we need to close (reject) the package version at this time. If you want to pick this version up and move it towards approval in the future, use the contact site admins link on the package page and we can move it back into a submitted status so you can submit updates.

Status Change - Changed status of package from 'submitted' to 'rejected'.

Description

Java allows you to play online games, chat with people around the world, calculate your mortgage interest, and view images in 3D, just to name a few. It's also integral to the intranet applications and other e-business solutions that are the foundation of corporate computing.

Note

This package installs the Java version offered at https://www.java.com. It also sets SPONSORS=0 (see docs).

If you wish to only install the 32-bit version of Java use the /exclude parameter. The switch to exclude 32-bit is /exclude:32 and to exclude 64-bit /exclude:64
For example: choco install jre8 -PackageParameters "/exclude:64" -y
This package no longer manually adds an environment variable.

This package can install 32-bit, 64-bit, or both versions. Find on GitHub


tools\chocolateyInstall.ps1
try {

$arguments = @{}

  # Now we can use the $env:chocolateyPackageParameters inside the Chocolatey package
  $packageParameters = $env:chocolateyPackageParameters

  # Default value
  $exclude = $null

  # Now parse the packageParameters using good old regular expression
  if ($packageParameters) {
      $match_pattern = "\/(?<option>([a-zA-Z0-9]+)):(?<value>([`"'])?([a-zA-Z0-9- \(\)\s_\\:\.]+)([`"'])?)|\/(?<option>([a-zA-Z]+))"
      $option_name = 'option'
      $value_name = 'value'

      if ($packageParameters -match $match_pattern ){
          $results = $packageParameters | Select-String $match_pattern -AllMatches
          $results.matches | % {
            $arguments.Add(
                $_.Groups[$option_name].Value.Trim(),
                $_.Groups[$value_name].Value.Trim())
        }
      }
      else
      {
          Throw "Package Parameters were found but were invalid (REGEX Failure)"
      }

      if($arguments.ContainsKey("exclude")) {
          Write-Host "exclude Argument Found"
          $exclude = $arguments["exclude"]
      }

  } else {
      Write-Debug "No Package Parameters Passed in"
  }

  $scriptDir = $(Split-Path -parent $MyInvocation.MyCommand.Definition)
  # Import function to test if JRE in the same version is already installed
  Import-Module (Join-Path $scriptDir 'thisJreInstalled.ps1')
  
  $packageName = 'jre8'
  # Modify these values -----------------------------------------------------
  # Find download URLs at http://www.java.com/en/download/manual.jsp
  $url = 'https://javadl.oracle.com/webapps/download/GetFile/1.8.0_102-b14/windows-i586/jre-8u102-windows-i586.exe'
  $checksum32 = 'A042F555E8F5CD76DDB930A1D3F11EFF30EA3E5552235883B62075F38E4804B0'
  $url64 = 'https://javadl.oracle.com/webapps/download/GetFile/1.8.0_102-b14/windows-i586/jre-8u102-windows-x64.exe'
  $checksum64 = '6326D0B8903D66D91BF28234D13CFE92479D60FDF0EB577FB3EDD51B5E310809'
  $oldVersion = '8.0.101'
  $version = '8.0.102'
  #--------------------------------------------------------------------------
  $homepath = $version -replace "(\d+\.\d+)\.(\d\d)(.*)",'jre1.$1_$2'
  $installerType = 'exe'
  $installArgs = "/s REBOOT=0 SPONSORS=0 AUTO_UPDATE=0 $32dir"
  $installArgs64 = "/s REBOOT=0 SPONSORS=0 AUTO_UPDATE=0 $64dir"
  $osBitness = Get-ProcessorBits
   
  Write-Output "Searching if new version exists..."
  $thisJreInstalledHash = thisJreInstalled($version)

  # This is the code for both javaruntime and javaruntime-platformspecific packages.
  # If the package is javaruntime-platformspecific, only install the jre version
  # based on the OS bitness, otherwise install both 32- and 64-bit versions
  if ($packageName -match 'platformspecific') {

    if (($thisJreInstalledHash[0]) -or ($thisJreInstalledHash[1])) {
      Write-Output "Java Runtime Environment $version is already installed. Skipping download and installation to avoid 1603 errors."
    } else {
      Install-ChocolateyPackage $packageName $installerType $installArgs $url $url64
    }

  } else {
    # Otherwise it is the javaruntime package which installs by default both 32- and 64-bit jre versions on 64-bit systems.

    # Checks if JRE 32/64-bit in the same version is already installed and if the user excluded 32-bit Java.
    # Otherwise it downloads and installs it.
    # This is to avoid unnecessary downloads and 1603 errors.
    if ($thisJreInstalledHash[0]) 
    {
      Write-Output "Java Runtime Environment $version (32-bit) is already installed. Skipping download and installation"
    } 
    elseif ($exclude -ne "32") 
    {
      Install-ChocolateyPackage $packageName $installerType $installArgs $url -checksum $checksum32 -checksumtype 'sha256'
    } 
    else 
    {
      Write-Output "Java Runtime Environment $Version (32-bit) excluded for installation"
    }

    # Only check for the 64-bit version if the system is 64-bit

    if ($osBitness -eq 64) 
    {
      if ($thisJreInstalledHash[1]) 
      {
        Write-Output "Java Runtime Environment $version (64-bit) is already installed. Skipping download and installation"
      } 
      elseif ($exclude -ne "64") 
      {
        Install-ChocolateyPackage $packageName $installerType $installArgs64 -url64bit $url64 -checksum64 $checksum64 -checksumtype64 'sha256'
      } 
      else 
      {
        Write-Output "Java Runtime Environment $Version (64-bit) excluded for installation"
      }
    }
  }
  #Uninstalls the previous version of Java if either version exists
  Write-Output "Searching if the previous version exists..."
  $oldJreInstalledHash = thisJreInstalled($oldVersion)

  if($oldJreInstalledHash[0]) 
  {
     Write-Warning "Uninstalling JRE version $oldVersion 32bit"
     $32 = $oldJreInstalledHash[0].IdentifyingNumber
     Start-ChocolateyProcessAsAdmin "/qn /norestart /X$32" -exeToRun "msiexec.exe" -validExitCodes @(0,1605,3010)
  }
  if($oldJreInstalledHash[1])
  {
     Write-Warning "Uninstalling JRE version $oldVersion 64bit"
     $64 = $oldJreInstalledHash[1].IdentifyingNumber
     Start-ChocolateyProcessAsAdmin "/qn /norestart /X$64" -exeToRun "msiexec.exe" -validExitCodes @(0,1605,3010)
  }
} catch {
  #Write-ChocolateyFailure $packageName $($_.Exception.Message)
  throw
}
tools\chocolateyUninstall.ps1
Write-Debug ("Starting " + $MyInvocation.MyCommand.Definition)

$scriptDir = $(Split-Path -parent $MyInvocation.MyCommand.Definition)
# Import function to test if JRE in the same version is already installed
Import-Module (Join-Path $scriptDir 'thisJreInstalled.ps1')

[string]$packageName="Javaruntime"
$version = '8.0.1710.11'
$thisJreInstalledHash = thisJreInstalled($version)

<#
Exit Codes:
    0: Java installed successfully.
    1605: Java is not installed.
    3010: A reboot is required to finish the install.
#>

if($thisJreInstalledHash[0]) 
  {
     Write-Warning "Uninstalling JRE version $Version 32bit"
     $32 = $thisJreInstalledHash[0].IdentifyingNumber
     Start-ChocolateyProcessAsAdmin "/qn /norestart /X$32" -exeToRun "msiexec.exe" -validExitCodes @(0,1605,3010)
  }
  if($thisJreInstalledHash[1])
  {
     Write-Warning "Uninstalling JRE version $Version 64bit"
     $64 = $thisJreInstalledHash[1].IdentifyingNumber
     Start-ChocolateyProcessAsAdmin "/qn /norestart /X$64" -exeToRun "msiexec.exe" -validExitCodes @(0,1605,3010)
  }

Write-Warning "$packageName may require a reboot to complete the uninstallation."
tools\thisJreInstalled.ps1
# This function checks if the same version of JRE is already installed on the computer.
# It returns a hash map with a 'x86_32' and 'x86_64'. These values are not empty if the
# same version and bitness of JRE is already installed.
function thisJreInstalled($version) {
  $productSearch = Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match '^Java \d+ Update \d+'}
  
  # The regexes for the name of the JRE registry entries (32- and 64 bit versions)
  $nameRegex32 = '^Java \d+ Update \d+$'
  $nameRegex64 = '^Java \d+ Update \d+ \(64-bit\)$'
  $versionRegex = $('^' + $version + '\d*$')

  $x86_32 = $productSearch | Where-Object {$_.Name -match $nameRegex32 -and $_.Version -match $versionRegex}
  $x86_64 = $productSearch | Where-Object {$_.Name -match $nameRegex64 -and $_.Version -match $versionRegex}
  if($x86_32 -eq $null)
  {
    $x86_32 = $false
  }
  if($x86_64 -eq $null)
  {
    $x86_64 = $false
  } 
  return $x86_32,$x86_64
} 

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status

This package has no dependencies.

Discussion for the Java SE Runtime Environment Package

Ground Rules:

  • This discussion is only about Java SE Runtime Environment and the Java SE Runtime Environment 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 Java SE Runtime Environment, 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