ChocolateyGUI icon indicating copy to clipboard operation
ChocolateyGUI copied to clipboard

Add feature to create a single installer

Open uvbeenzaned opened this issue 11 years ago • 15 comments

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.

uvbeenzaned avatar Feb 08 '14 05:02 uvbeenzaned

One of things I was pondering was the ability to export the currently installed package list as a boxstarter config.

RichiCoder1 avatar Feb 08 '14 05:02 RichiCoder1

You're on the same page as me. Hope the devs take note. I might be making a pull request soon! Lol :P @RichiCoder1

uvbeenzaned avatar Feb 08 '14 05:02 uvbeenzaned

Haha, as one of the now devs, its definitely on the table. Boxstarter makes it very easy to do too.

RichiCoder1 avatar Feb 08 '14 05:02 RichiCoder1

Wait... I didn't know that you were actually talking about ACTUAL software... I just Googled it lol. @RichiCoder1

uvbeenzaned avatar Feb 08 '14 05:02 uvbeenzaned

Yup! Its very cool looking.

RichiCoder1 avatar Feb 08 '14 05:02 RichiCoder1

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.

gep13 avatar Feb 08 '14 11:02 gep13

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 avatar Mar 24 '15 22:03 gep13

@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! :)

uvbeenzaned avatar Mar 25 '15 21:03 uvbeenzaned

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 avatar Mar 25 '15 21:03 gep13

@gep13 Can't wait!

uvbeenzaned avatar Mar 25 '15 23:03 uvbeenzaned

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.

OlafHaag avatar Aug 15 '15 02:08 OlafHaag

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?

gep13 avatar Aug 15 '15 11:08 gep13

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.

OlafHaag avatar Aug 15 '15 12:08 OlafHaag

This appears to be a duplicate of issue #12. I made a comment under that issue regarding this potential feature.

vertigo220 avatar Jun 19 '18 04:06 vertigo220

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:

  1. IExporter interface (that each exporter implements)
  2. ExporterContext (list of packages + versions installed), passed into the IExporter

At this stage I can think of 2 exporters:

  1. PackagesConfigExporter
  2. BoxStarterExporter

What are your thoughts?

GeertvanHorrik avatar May 01 '20 07:05 GeertvanHorrik