ChocolateyGUI
ChocolateyGUI copied to clipboard
Add feature to create a single installer
Select multiple packages in gui and then make a single file that installs chocolatey and selected packages when run. I would love to see something like this implemented in the future. This would make my job so much better at work instead of using Ninite. This software is easier to integrate with other scripts.
One of things I was pondering was the ability to export the currently installed package list as a boxstarter config.
You're on the same page as me. Hope the devs take note. I might be making a pull request soon! Lol :P @RichiCoder1
Haha, as one of the now devs, its definitely on the table. Boxstarter makes it very easy to do too.
Wait... I didn't know that you were actually talking about ACTUAL software... I just Googled it lol. @RichiCoder1
Yup! Its very cool looking.
Yes, Boxstarter is built on top of Chocolatey. Where Chocolatey is the Package Manager, Boxstarter at infrastructure code onto the top, handling things like deploying to Remote Machine, i.e in Azure, or running on Hyper-V, and being tolerant to reboot requests, etc. If you haven't checked it out, I would definitely recommend that you do. We could certainly add a function to ChocolateyGUI to allow selecting of multiple packages, which would then output the required Gist to make it run as a Boxstarter Installation.
This is related to #7 and will be made available as an additional export option.
Were you both just thinking that a ps1 file be created with the specific list of commands, i.e.
choco install packagename -version x.x.x.
be created, or something more intricate than this?
@gep13 Creating a ps1 would be a start. In the future I would hope to see maybe a script that installs Choco and then installs all apps specified at once for new computer and fresh Windows installs. i.e. Ninite has a single .exe file that is created on request.
Thank you for not giving up on my question a year later! :)
Ha ha, it has always been on the radar :-)
For starting from a fresh Windows install, I think we would look to create a script that could be passed to Boxstarter, which handles the work of starting from a clean machine, bootstrapping Chocolatey, and then installing the list of packages.
If you are happy with that, I will look to include this in the 0.13.1 release of ChocolateyGUI, once I get the current 0.13.0 release sorted out, which should hopefully be tonight.
Gary
@gep13 Can't wait!
Having a look at the 0.13.1 I couldn't yet find such export. I just started a gist for myself to feed to boxstarter, but having a convenient export from chocolatey would be great. I have one more suggestion: Is it possible to also export the installation path? I know atm there's still no universal switch for the installation path, but hopefully any time soon and when the time comes it'll be a great option to also include current install arguments for path.
Did you see the export button on the top right of this screen:
https://raw.githubusercontent.com/chocolatey/ChocolateyGUI/develop/docs/Screenshots/Showing_Search_Results.png
Does that do what you want?
Thanks! I overlooked that. I can parse that for now. Still it'll be good, if there was more information exposed to users and be exportable, for example the command that was used to install the package. So that would have to be captured and saved. I ask this, because it would also tell me, if the --forcex86 flag was used for example, and if a custom installation path was given. Since ChocolateyGUI surely uses the choco install command, it'll be neat to cover that. At least I saw an issue for the x86 option. This probably has to go hand in hand with choco development.
This appears to be a duplicate of issue #12. I made a comment under that issue regarding this potential feature.
I am trying to use chocolatey everywhere in my environments now. I hope it will allow me to set up new machines (or basically reset my existing machines) real quick. One idea I had is to export the currently installed packages as a boxstarter script, which this ticket is about.
What if the export button would also allow to generate a boxstarter script? The exporters could be a plugin where you would have:
- IExporter interface (that each exporter implements)
- ExporterContext (list of packages + versions installed), passed into the IExporter
At this stage I can think of 2 exporters:
- PackagesConfigExporter
- BoxStarterExporter
What are your thoughts?