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

Chocolatey Server (Simple)


Package test results are passing.

This package was approved by moderator gep13 on 11/17/2016.

Chocolatey Server is a simple OData feed built on top of NuGet.Server.

Chocolatey Server builds on NuGet.Server with a few minor adjustments:

  • This is a packaged site, ready to deploy.
  • The apikey is already set.
  • There is more helpful information on the site when accessing locally:

    • There is a link to the Elmah logs

    • The api key is given on the page.

  • The location of packages defaults to a more secure location.

To install Chocolatey Server (Simple), run the following command from the command line or from PowerShell:

C:\> choco install chocolatey.server

To upgrade Chocolatey Server (Simple), run the following command from the command line or from PowerShell:

C:\> choco upgrade chocolatey.server


  • tools\chocolatey.server\App_Data\Packages\Readme.txt Show
    To add packages to the feed put package files (.nupkg files) in this folder.
  • tools\chocolatey.server\bin\Elmah.dll Show
    md5: 5F9FBA56E86C63D985C5108544EC5473 | sha1: 1C0452B49290CE5CC919CA18D76533B4C4267BDA | sha256: 24154C679DE6858BB53C03339FBBE275499280E7A6BC1F9E9586A72063EC6133 | sha512: 750344D705C99A18266F6C7CE21F38C4F42A1C25B9677FD7BB9009F7449CCE02F91033F9FF52AD9C1196C3B8053A42BFE1EB8DB61F755A20CECB3BEE33E7756F
  • tools\chocolatey.server\bin\Microsoft.Web.Infrastructure.dll Show
    md5: 969D6CAF273394F064475292D549516E | sha1: 91F688C235388C8BCEE03FF20D0C8A90DBDD4E3E | sha256: FE18F4259C947C1FD6D74F1827370E72D7AD09AEFB4B720AF227333583E0169F | sha512: B4F6A614E5FC52850E3D02EBF7E85ABF1EBE3FB4EBD6B4F03EC9DC4989CCE88E44714CA2198DD7E632F5ED0F15225A68B31052DA33E5AC3CE48A1C91C3C04446
  • tools\chocolatey.server\bin\Microsoft.Web.XmlTransform.dll Show
    md5: 6AD7D1E92C9833F4BDDE6A4BC84F2E1A | sha1: B38D23B6A960F5F07664565835137FE3C8FDB7ED | sha256: 13DCF5066E00152238191314D4A46605204FFABDBB830BDD0C97DF3027D1261D | sha512: 01C4ECC46576618394FBBEE701F5A726F97D31FB39D5F1C6305D21CA7AD0B0ABC09B69FB733C42D4D1203FCE78DD3F3D5129C21EA0BC9B92D0AB3A7BF09C006C
  • tools\chocolatey.server\bin\Ninject.dll Show
    md5: E090F92DC731060146786220AF8A789E | sha1: 0C824A1F33A1B15D08D6A084CD20008340BFD66B | sha256: 833DE781870630530BAA1AC3D86B614923F19A2C8EFA28E27992BE95AB0D8FD9 | sha512: B894DD3A1EF719CAEC569E2BC5BECEA460E882D1893F278981832658A9B866EC04862FE01552F6DB8D68CBDB48CA41FECE727915D2DA8F6F192B48128FF5EEE0
  • tools\chocolatey.server\bin\NuGet.Core.dll Show
    md5: 4F31C0446B134A09C81CA92AEC561C02 | sha1: 119D6A1586170A7A07826AFE52A507951DBBDDA3 | sha256: 26CF936D35F4C3B2519BB8DC169EB83CB889CA2057C0F3FA8F9D9FD13AD8F45C | sha512: 52C9B5E0358031537A16EC1DB87373AAC7821060482B56F0B0524FEF304F50B8F7D8C136DFA68927D541144E1403FFBAED7DFDCCE8BD18970D97919EC48275DB
  • tools\chocolatey.server\bin\NuGet.Server.dll Show
    md5: FA1A0A2D6355B9148FCAAACE89F0F38F | sha1: 06ADCE1052073F44FD986DED74DF43355AE63F14 | sha256: 611CD76BB18BCECF2B78BA0094774AC97C2705A83648375533B0CCD9A968753B | sha512: A83C4A1E7E2202DF1684FA2E558B7D4C273D3392342F69CA36E90C3E8DB618D2E1EA98B7A2417F6BE45D470F48B5510BF9425D0EE2207BE956783F59AA0E2C00
  • tools\chocolatey.server\bin\RouteMagic.dll Show
    md5: E1FF5F59A4721B3DD1DCCF881971C39E | sha1: A7D57795CF6548891A35F82AA4EFBD4A45722614 | sha256: 6E646D8751758596A9DFCC41DEF59E33460CB6AB517F3796ECBEF935A29EA723 | sha512: E5CDF30CBFC648AA5346AD76713B2CAEE49ED8C899AA1479921A80D4E1A1A5FC35C4CA3DFA98D441698E4D011B6CEC6CBED868C8E3596DAD0EC619A8AAB11C5D
  • tools\chocolatey.server\bin\SimpleChocolateyServer.dll Show
    md5: 10063B115D41D442E6B77454D70E1540 | sha1: 7EE4AFCB17905579D54412DE52D316538C0840DB | sha256: 29E7C73CD1A5C35E2EF6E7909BA09129EEDA1AF940D36CF0C08BEE72C9AE154A | sha512: 376F43B6747D05ABB2B6084B0DC45A458AF925145051791EC8B1D67840DF0617C93CF7F1BA63FDFC3B2B81709DB2C6A45821A9ECEE0C828DA1BD49F5E4871A18
  • tools\chocolatey.server\bin\WebActivatorEx.dll Show
    md5: 916E94AAF17B27760C8A0FC6F1516730 | sha1: 4BE79FEB2A84C0F0F715ECED1844B28442D5C7B1 | sha256: 169F8A911A7921AF0387588AEA98F939C23A5BF14CA6AA2E3CAD7FBC5DCC077F | sha512: 7474B55A1603D0BC1500C71CC155CFC8864B3880D1834C01BBB2EC4F56FE2FBC912FE7AE68F7E8FD97052BFFAF980F411F0F83BEA37CA50338B0AF937BCEA170
  • tools\chocolatey.server\Content\images\chocolatey.png
  • tools\chocolatey.server\Content\images\MarksUsePolicy.pdf
  • tools\chocolatey.server\DataServices\Packages.svc
  • tools\chocolatey.server\Default.aspx
  • tools\chocolatey.server\favicon.ico
  • tools\chocolatey.server\packages.config Show
    <?xml version="1.0" encoding="utf-8"?>
      <package id="elmah" version="1.2.2" targetFramework="net40" />
      <package id="elmah.corelibrary" version="1.2.2" targetFramework="net40" />
      <package id="Microsoft.Web.Infrastructure" version="" targetFramework="net40" />
      <package id="Microsoft.Web.Xdt" version="2.1.1" targetFramework="net40" />
      <package id="Ninject" version="" targetFramework="net40" />
      <package id="RouteMagic" version="1.2" targetFramework="net40" />
      <package id="WebActivatorEx" version="2.0.2" targetFramework="net40" />
  • tools\chocolatey.server\Web.config Show
    <?xml version="1.0"?>
      For more information on how to configure your ASP.NET application, please visit
        <sectionGroup name="elmah">
          <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
          <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/>
          <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/>
          <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
        <compilation debug="false" targetFramework="4.0"/>
          <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
          <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
          <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
        <httpRuntime maxRequestLength="2147482548"/>
            <requestLimits maxAllowedContentLength="2147482548" />
        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true">
          <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler"/>
          <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler"/>
          <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler"/>
          <mimeMap fileExtension=".nupkg" mimeType="application/zip"/>
            See for 
            more information on remote access and securing ELMAH.
        <security allowRemoteAccess="false"/>
        <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/Logs"/>
      <location path="elmah.axd" inheritInChildApplications="false">
            <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
            See for 
            more information on using ASP.NET authorization securing ELMAH.
            <allow roles="admin" />
            <deny users="*" />  
            <add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode"/>
                Determines if an Api Key is required to push\delete packages from the server. 
        <add key="requireApiKey" value="true"/>
                Set the value here to allow people to push/delete packages from the server.
                NOTE: This is a shared key (password) for all users.
        <add key="apiKey" value="chocolateyrocks"/>
                Change the path to the packages folder. Default is ~/Packages.
                This can be a virtual or physical path.
        <add key="packagesPath" value="~/App_Data/Packages"/>
                Set allowOverrideExistingPackageOnPush to false if attempts to upload a package that already exists
                (same id and same version) should fail.
        <add key="allowOverrideExistingPackageOnPush" value="false"/>
                Set enableDelisting to true to enable delist instead of delete as a result of a "nuget delete" command.
                - delete: package is deleted from the repository's local filesystem.
                - delist: 
                  - "nuget delete": the "hidden" file attribute of the corresponding nupkg on the repository local filesystem is turned on instead of deleting the file.
                  - "nuget list" skips delisted packages, i.e. those that have the hidden attribute set on their nupkg.
                  - "nuget install packageid -version version" command will succeed for both listed and delisted packages.
                     e.g. delisted packages can still be downloaded by clients that explicitly specify their version.
        <add key="enableDelisting" value="true"/>
          Set enableFrameworkFiltering to true to enable filtering packages by their supported frameworks during search.
        <add key="enableFrameworkFiltering" value="false"/>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
  • tools\chocolateyInstall.ps1 Show
    $packageName = 'chocolatey.server'
    try { 
      $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
      $webToolsDir = Join-Path $toolsDir $packageName
      $installDir = Get-BinRoot
      $webInstallDir = Join-Path $installDir $packageName
      #Enable Web Services
      #cinst IIS-WebServerRole -source WindowsFeatures
      #cinst IIS-ISAPIFilter -source WindowsFeatures
      #cinst IIS-ISAPIExtensions -source WindowsFeatures
      # cinst ASPNET -source webpi
      # cinst ASPNET_REGIIS -source webpi
      # cinst DefaultDocument -source webpi
      # cinst DynamicContentCompression -source webpi
      # cinst HTTPRedirection -source webpi
      # cinst IIS7_ExtensionLessURLs -source webpi
      # cinst IISManagementConsole -source webpi
      # cinst ISAPIExtensions -source webpi
      # cinst ISAPIFilters -source webpi
      # cinst NETExtensibility -source webpi
      # cinst RequestFiltering -source webpi
      # cinst StaticContent -source webpi
      # cinst StaticContentCompression -source webpi
      # cinst UrlRewrite2 -source webpi
      # W3SVC should be running
      $osVersion = [Environment]::OSVersion.Version
      if ($osVersion -ge [Version]'6.2') #8/2012+
        #cinst IIS-NetFxExtensibility45 -source WindowsFeatures
        #cinst NetFx4Extended-ASPNET45 -source WindowsFeatures
        #cinst IIS-ASPNet45 -source WindowsFeatures
      } else { #Windows 7/2008 and below
        ."$env:windir\\framework\v4.0.30319\aspnet_regiis.exe" -i
      #TODO: if exists, copy the App_Data folder somewhere else for a moment so stuff doesn't get deleted
      Copy-Item $webToolsDir $webInstallDir -recurse -force
      #Import-Module WebAdministration
      #Remove-WebSite -Name "Default Web Site" -ErrorAction SilentlyContinue
      #Remove-WebSite -Name "ChocolateyServer" -ErrorAction SilentlyContinue
      #New-WebSite -ID 1 -Name "ChocolateyServer" -Port 80 -PhysicalPath "$webInstallDir" -Force
      # $networkSvc = 'NT AUTHORITY\NETWORK SERVICE'
      # Write-Host "Setting folder permissions on `'$webInstallDir`' to 'Read' for user $networkSvc"
      # $acl = Get-Acl $webInstallDir
      # $acl.SetAccessRuleProtection($False, $True)
      # $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$networkSvc","Read", "ContainerInherit, ObjectInherit", "None", "Allow");
      # $acl.AddAccessRule($rule);
      # Set-Acl $webInstallDir $acl  
      # $webInstallAppDataDir = Join-Path $webInstallDir 'App_Data'
      # Write-Host "Setting folder permissions on `'$webInstallAppDataDir`' to 'Modify' for user $networkSvc"
      # $acl = Get-Acl $webInstallAppDataDir
      # $acl.SetAccessRuleProtection($False, $True)
      # $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$networkSvc","Modify", "ContainerInherit, ObjectInherit", "None", "Allow");
      # $acl.AddAccessRule($rule);
      # Set-Acl $webInstallAppDataDir $acl
      # Import-Module WebAdministration
      # $appPoolPath = "IIS:\AppPools\$projectName"
      # #$pool = new-object
      # Write-Warning "You can safely ignore the next error if it occurs related to getting an app pool that doesn't exist"
      # $pool = Get-Item $appPoolPath
      # if ($pool -eq $null) {
      #   Write-Host "Creating the app pool `'$appPoolPath`'"
      #   $pool = New-Item $appPoolPath 
      # }
      # $pool.processModel.identityType = "NetworkService" 
      # $pool | Set-Item
      # Set-itemproperty $appPoolPath -Name "managedRuntimeVersion" -Value "v4.0"
      # #Set-itemproperty $appPoolPath -Name "managedPipelineMode" -Value "Integrated"
      # Start-WebAppPool "$projectName"
      # Write-Host "Creating the site `'$projectName`' with appPool `'$projectName`'"
      # New-WebApplication "$projectName" -Site "Default Web Site" -PhysicalPath $srcDir -ApplicationPool "$projectName" -Force
      #Client SKUs need to enable firewall
      #netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80
      Write-ChocolateySuccess "$packageName"
    } catch {
      Write-ChocolateyFailure "$packageName" "$($_.Exception.Message)"

Virus Scan Results

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.



Software Author(s)

  • Rob Reynolds


Release Notes


  • Package size allows for 2GB
  • Uses same NuGet enhancements that Chocolatey uses.


  • Small fix to not do anything with respect to making changes.
  • Cleaned up files


  • Initial Release

Version History

Version Downloads Last updated Status
Chocolatey Server (Simple) 0.1.1 2072 Saturday, September 20, 2014 approved
Chocolatey Server (Simple) 0.1.0 178 Saturday, September 20, 2014  

Discussion for the Chocolatey Server (Simple) Package

Ground rules:

  • This discussion is only about Chocolatey Server (Simple) and the Chocolatey Server (Simple) 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 Chocolatey Server (Simple), 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