Downloads of v 2.2.0-M04-beta:


Last Update:

17 Feb 2015

Package Maintainer(s):

Software Author(s):

  • Emil Eifrem
  • Johan Svensson


neo4j graph community database nosql

Neo4j Community Edition

This is a prerelease version of Neo4j Community Edition.

  • 1
  • 2
  • 3

2.2.0-M04-beta | Updated: 17 Feb 2015



Downloads of v 2.2.0-M04-beta:



Software Author(s):

  • Emil Eifrem
  • Johan Svensson

  • 1
  • 2
  • 3
Neo4j Community Edition 2.2.0-M04-beta

This is a prerelease version of Neo4j Community Edition.

  • 1
  • 2
  • 3

Some Checks Have Failed or Are Not Yet Complete

Not All Tests Have Passed

Validation Testing Unknown

Verification Testing Unknown

Scan Testing Successful:

No detections found in any package files

Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Neo4j Community Edition, run the following command from the command line or from PowerShell:


To upgrade Neo4j Community Edition, run the following command from the command line or from PowerShell:


To uninstall Neo4j Community Edition, run the following command from the command line or from PowerShell:


Deployment Method:

📝 NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to

2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade neo4j-community -y --source="'INTERNAL REPO URL'" --version="'2.2.0-M04-beta'" --prerelease [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:

choco upgrade neo4j-community -y --source="'INTERNAL REPO URL'" --version="'2.2.0-M04-beta'" --prerelease

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0

Exit $exitCode

- name: Install neo4j-community
    name: neo4j-community
    version: '2.2.0-M04-beta'
    state: present
    allow_prerelease: yes

See docs at

chocolatey_package 'neo4j-community' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '2.2.0-M04-beta'
  options  '--prerelease'

See docs at

cChocoPackageInstaller neo4j-community
    Name        = "neo4j-community"
    Version     = "2.2.0-M04-beta"
    Source      = "INTERNAL REPO URL"
    chocoParams = "--prerelease"

Requires cChoco DSC Resource. See docs at

package { 'neo4j-community':
  ensure          => '2.2.0-M04-beta',
  install_options => ['--prerelease'],
  provider        => 'chocolatey',
  source          => 'INTERNAL REPO URL',

Requires Puppet Chocolatey Provider module. See docs at

4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package was approved as a trusted package on 17 Feb 2015.


Neo4j is the world's leading Graph Database. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions. The programmer works with a flexible network structure of nodes and relationships rather than static tables yet enjoys all the benefits of enterprise-quality database. For many applications, Neo4j offers orders of magnitude performance benefits compared to relational DBs.

Note - This chocolatey package is not created or maintained by Neo4j, however the installation media used is an official distribution from Neo4j

  • Requires OpenJDK 7 or Oracle Java 7 to be installed as per
  • This package only installs the 64 bit version
  • This chocolatey package supports Package Parameters;
    /Install:<Install Path>
    /ImportNeoProperties:<Path to file>
    /ImportNeoServerProperties:<Path to file>
    /ImportServiceProperties:<Path to file>

This will install BETA software and is for development only

e.g. choco install neo4j-community -version 2.2.0-M04-beta -prerelease -packageParameters "/Install:C:\Apps\Neo"

Full information is available at the pacakge project site

$PackageName = 'neo4j-community'
# Per-package parameters
$downloadUrl = ''
$md5Checksum = '903ee2c7cb5cfbc10ec2dbc5d1b66318'
$neozipSubdir = 'neo4j-community-2.2.0-M04'
$neoServerApiJarSuffix = '2.2.0-M04'

try {
  # Taken from
  $arguments = @{};
  # Now, we can use the $env:chocolateyPackageParameters inside the Chocolatey package
  $packageParameters = $env:chocolateyPackageParameters;

  # Default the values
  $InstallDir = Get-BinRoot
  $InstallDir = Join-Path -Path $InstallDir -ChildPath $PackageName
  $ImportNeoProperties = ""
  $ImportNeoServerProperties = ""
  $ImportServiceProperties = ""
  # Now, let’s parse the packageParameters using good old regular expression
  if($packageParameters) {
      $MATCH_PATTERN = "\/([a-zA-Z]+):([`"'])?([a-zA-Z0-9- _\\:\.]+)([`"'])?"
      $VALUE_INDEX = 3

      if($packageParameters -match $MATCH_PATTERN ){
          $results = $packageParameters | Select-String $MATCH_PATTERN -AllMatches
          $results.matches | % {
        Throw "Package Parameters were found but were invalid (REGEX Failure)";

      if($arguments.ContainsKey("install")) {
          Write-Host "Install Argument Found";
          $InstallDir = $arguments["install"];

      if($arguments.ContainsKey("importneoproperties")) {
          Write-Host "ImportNeoProperties Argument Found";
          $ImportNeoProperties = $arguments["importneoproperties"];

      if($arguments.ContainsKey("importneoserverproperties")) {
          Write-Host "ImportNeoServerProperties Argument Found";
          $ImportNeoServerProperties = $arguments["importneoserverproperties"];

      if($arguments.ContainsKey("importserviceproperties")) {
          Write-Host "ImportServiceProperties Argument Found";
          $ImportServiceProperties = $arguments["importserviceproperties"];
  } else {
      Write-Host "No Package Parameters Passed in";

  $silentArgs = "/install:" + $InstallDir
  if ($ImportNeoProperties -ne "") {
    $silentArgs += " /importneoproperties:" + $ImportNeoProperties
  if ($ImportNeoServerProperties -ne "") {
    $silentArgs += " /importneoserverproperties:" + $ImportNeoServerProperties
  if ($ImportServiceProperties -ne "") {
    $silentArgs += " /importserviceproperties:" + $ImportServiceProperties
  Write-Debug "This would be the Chocolatey Silent Arguments: $silentArgs"

  # Sanity Checks
  If ($ImportNeoProperties -ne "") {
    If (!(Test-Path -Path $ImportNeoProperties)) { Throw "Could not find the NeoProperties file to import. $ImportNeoProperties" }
  If ($ImportNeoServerProperties -ne "") {
    If (!(Test-Path -Path $ImportNeoServerProperties)) { Throw "Could not find the NeoServerProperties file to import. $ImportNeoServerProperties" }
  If ($ImportServiceProperties -ne "") {
    If (!(Test-Path -Path $ImportServiceProperties)) { Throw "Could not find the ServiceProperties file to import. $ImportServiceProperties" }

  # Check if Neo is already installed
  $RunNeo4jInstall = $true
  $existingNeoHome = [string] (Get-EnvironmentVariable -Name 'NEO4J_HOME' -Scope 'Machine')
  if ($existingNeoHome -eq '')
    $existingNeoHome = [string] ( (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' -ErrorAction Ignore).'NEO4J_HOME' )
  if ($existingNeoHome -ne '') {
    Write-Debug 'The NEO4J_HOME environment variable is set.  Checking the version of Neo4j...'
    Get-ChildItem -Path (Join-Path -Path $existingNeoHome -ChildPath 'lib') | Where-Object { $_.Name -match 'server-api-.+\.jar' } | ForEach-Object {
      if ($_.Name.ToLower() -eq "server-api-$($neoServerApiJarSuffix).jar")
        $RunNeo4jInstall = $false
        Write-Host "$PackageName version $neoServerApiJarSuffix is already installed"
        Write-Debug "$PackageName has been installed but found an unexpected version of the server-api jar file $($_.Name)"
        Throw "$PackageName is installed but is not the correct version.  Expected version $neoServerApiJarSuffix"

  if ($RunNeo4jInstall) {
    # Check if Java is available
    # This check will not be required once a suitable Java SDK 7 chocolatey package is available in the public feed. This is expected in Feb 2015 sometime.
    $javaResponse = ''
    try {
      Write-Debug 'Testing Java...'
      & java.exe -version
    } catch {
      Throw 'Java is not installed in the PATH.  This is required for a Neo4j installation'
    # Install Neo4j
    Install-ChocolateyZipPackage -PackageName $PackageName -URL $downloadUrl -UnzipLocation $InstallDir -CheckSum $md5Checksum -CheckSumType 'md5'

    # Set the Home Environment Variable
    $neoHome = "$($InstallDir)\$($neozipSubdir)"
    Install-ChocolateyEnvironmentVariable "NEO4J_HOME" "$neoHome" "Machine"
    # Import config files if required
    If ($ImportNeoProperties -ne "") {
      Write-Host "Importing the neo4jproperties from  $ImportNeoProperties"
      [void] (Copy-Item -Path $ImportNeoProperties -Destination "$($neoHome)\conf\" -Force -Confirm:$false)
    If ($ImportNeoServerProperties -ne "") {
      Write-Host "Importing the from  $ImportNeoServerProperties"
      [void] (Copy-Item -Path $ImportNeoServerProperties -Destination "$($neoHome)\conf\" -Force -Confirm:$false)
    If ($ImportServiceProperties -ne "") {
      Write-Host "Importing the neo4j-wrapper.conf from  $ImportServiceProperties"
      [void] (Copy-Item -Path $ImportServiceProperties -Destination "$($neoHome)\conf\neo4j-wrapper.conf" -Force -Confirm:$false)
    # Install the Neo4j Service
    $InstallBatch = "$($neoHome)\bin\Neo4jInstaller.bat"
    if (!(Test-Path $InstallBatch)) { throw "Could not find the Neo4j Installer Batch file at $InstallBatch" }
    $args = "install"
    Start-Process -FilePath $InstallBatch -ArgumentList $args -Wait -PassThru -NoNewWindow | Out-Null
    $neoService = Get-Service -Name "Neo4j-Server" -ErrorAction Ignore
    if ($neoService -eq $null) {
      Throw "The Neo4j Sever Service failed to install"
  Write-ChocolateySuccess $PackageName
} catch {
  Write-ChocolateyFailure $PackageName "$($_.Exception.Message)"
$PackageName = 'neo4j-community'
try {
  # Get the NeoHome Dir
  #   Try the local environment
  $neoHome = [string] (Get-EnvironmentVariable -Name 'NEO4J_HOME' -Scope 'Machine')
  # Failing that, try a registry hack
  if ($neoHome -eq '')
    $neoHome = [string] ( (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' -ErrorAction Ignore).'NEO4J_HOME' )
  if ($neoHome -eq '') { throw "Could not find the Neo4jHome directory" }

  # Uninstall the Neo4j Service
  $UninstallBatch = "$($neoHome)\bin\Neo4jInstaller.bat"
  if (!(Test-Path $UninstallBatch)) { throw "Could not find the Neo4j Uninstaller Batch file at $UninstallBatch" }

  # Uninstall the service
  $args = "remove"
  $results = (Start-Process -FilePath $UninstallBatch -ArgumentList $args -Wait -PassThru -NoNewWindow)

  # Remove the install folder
  Remove-Item -Path $neoHome -Recurse -Force | Out-Null
  # Remove the environment variable
  Install-ChocolateyEnvironmentVariable "NEO4J_HOME" '' "Machine"

  Write-ChocolateySuccess $PackageName
} catch {
  Write-ChocolateyFailure $PackageName "$($_.Exception.Message)"

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
Neo4j Community Edition 3.5.0 265 Thursday, November 29, 2018 Approved
Neo4j Community Edition 3.5.0-rc01-beta 186 Saturday, November 17, 2018 Approved
Neo4j Community Edition 3.5.0-beta03-beta 181 Saturday, October 27, 2018 Approved
Neo4j Community Edition 3.5.0-beta02-beta 154 Thursday, October 18, 2018 Approved
Neo4j Community Edition 3.5.0-beta01-beta 172 Saturday, September 29, 2018 Approved
Neo4j Community Edition 3.5.0-alpha09 166 Saturday, September 15, 2018 Approved
Neo4j Community Edition 3.5.0-alpha08 173 Thursday, September 6, 2018 Approved
Neo4j Community Edition 3.5.0-alpha07 206 Friday, August 17, 2018 Approved
Neo4j Community Edition 3.5.0-alpha06 212 Saturday, August 4, 2018 Approved

Full list of changes are available on GitHub;

Version 2.2.0-M04-beta

  • Initial Release

This package has no dependencies.

Discussion for the Neo4j Community Edition Package

Ground Rules:

  • This discussion is only about Neo4j Community Edition and the Neo4j Community Edition 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 Neo4j Community Edition, 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