In package management, you should have one version of a piece of software installed. If the underlying software supports multiple versions, what you are looking to do is create a package id per something about the version that is your breaking areas.
PREFERRED: A Package Id Per Some Part of The Version (Major, Major Minor, etc)
Aka ruby1.9
, ruby2.0
, ruby2.x
. If you are talking about .NET Framework, that is a package ID per full version as the software sits side by side.
This allows you to have a nice upgrade path for all of those versions and it is completely compatible with all integrations you might use with Chocolatey.
NOT RECOMMENDED: Side By Side Installation
There is also a way to run multiple package installations and track multiple versions of a single package id, but it doesn't support upgrade and it is not able to be used with configuration management, so it's not something we would recommend. However I don't know your constraints, so if you do need to do this,
you would run choco install
with --allow-multiple-versions
. From the documentation:
-m, --sxs, --sidebyside, --side-by-side, --allowmultiple, --allow-multiple, --allowmultipleversions, --allow-multiple-versions
AllowMultipleVersions - Should multiple versions of a package be
installed? Defaults to false.