Published on 27 April 2016 by

Sometimes creating packages from scratch can be an involved process. Not all software installers are created equal (and not all are easily automated either)! Thankfully there is already a tremendous resource you can use to make the process of getting your software all packaged up even smoother.

On, you will find packages with all of the install logic you need to automatically install your software. However, many of these publicly available packages also rely on software that is available from official distribution points because they are subject to software licensing and copyright law. Unless you’re granted the right to distribute the software via the license, you can’t redistribute it publicly. These laws do not apply when you use internal packages, and that is a good thing!

Why? Downloading software from the internet creates a failure point because it may not be available, the software vendor site could go down, etc. With internal packages, you don’t have to worry about any of that. You can create internal packages and embed the software directly in the package and/or use internal file shares.

This is where recompiling packages comes in. Recompiling a package lets you take an existing package and internalize all of the resources to embedded/internal resources so you can reuse the install logic without the hassle of downloading stuff from the internet. This guarantees complete control, trust, reliability, and repeatability of a package for organizations that have a low tolerance for production issues.

Creating your own recompiled packages is easy. In fact, we already have documentation that walks you through the process step by step!

Recompiling a Chocolatey package at a high level involves:

  1. Downloading and unpacking the existing package as a zip file.
  2. Downloading the resources the package has and putting them in the package.
  3. Editing the install script to point to the internal software.
  4. Packaging it back up.
  5. Pushing it to your internal server.

And that’s it!

Recompiling is a great way to quickly get your organization up to speed on managing software with Chocolatey packages . When you are ready, we have a doc that takes you through all of the necessary steps.

Rob Reynolds is a senior software engineer at Puppet and creator of Chocolatey.

Learn More

Share via:

I also found NuGet backed by Artifactory (Pro) can really jump start distribution, and thus follows streamline of delivery pipelines.  Especially for teams developing in separate geos.

  I was sad my commentary on NuGet and Chocolatey did not get included in this testimonial I did a while back:  :*(

Hi Jeremy,

 Yes, you can use any NuGet OData enabled repository, to do this. You can also use just a UNC share. I posted about the how and why awhile back at

The content of this field is kept private and will not be shown publicly.

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.