Been thinking a lot about this feature. I've been fighting with it quite a bit for installing SxS packages
Some examples of packages that can be sensibly installed side-by-side:
- Ruby
- microsoft-build-tools
- sqlserver-odbcdriver
Here are some of the issues:
- No automated upgrade path for point releases. e.g. if I have Ruby 1.9 and Ruby 2.4 installed, I can only upgrade Ruby 2.4, even if there's an update to 1.9
- Configuration management systems (at least Puppet and DSC) don't allow for multiple versions to be installed because they key on package name
- Future installs don't know that the previous one was installed with
AllowMultipleVersions
- Inability to pin to a major or major.minor version
- Difficult to maintain packages for older versions if fixes are released (git branching could work, but many chocolatey packages are maintained in repos with multiple packages)
- Can dependencies depend on a specific version? Does this work right?
[Placeholder - repo setup for allowing patches of multiple versions]
[Placeholder] - wtf does one do about Java, guess that's a good use case for allowmultipleversions
?
[Placeholder]