1dustindavis / gorilla

Munki-like Application Management for Windows
Apache License 2.0
186 stars 21 forks source link

multi file installs #64

Open erikng opened 5 years ago

erikng commented 5 years ago

Unlike debian and macOS, it is likely that installers may require multiple files to chain together for installations.

Some examples:

Rather than scripting powershell scripts or using inter dependent packages in catalogs as "required items", it would make sense if Gorilla could handle multi file installations and then be able to pass arguments to them.

Our team might be able to send PRs for this, but I would like to discuss the specifics prior to working on anything.

1dustindavis commented 5 years ago

I agree this will likely be useful, but there are probably lots of edge cases.

One way to do this might be to add support for multiple items under installer like this:

FakeApp:
  display_name: Fake Application
  check:
    registry:
      name: Fake Applications
      version: 68.0.3440.106
  installer:
    - location: packages/fake/FakeApp-68.0.3440.106.msi
      hash: ce9c44417489d6c1f205422a4b9e8d5181d1ac24b6dcae3bd68ec315efdeb18b
      type: nupkg
    - location: packages/fake/FakeApp-68.0.3440.106.msp
      hash: 65bf42b15a05b13197e4dd6cdf181e39f30d47feb2cb6cc929db21cd634cd36f
      type: support
  version: 68.0.3440.106

We will need a way to reference these files from the arguments. Maybe assign an identifier that gorilla can fill in with the path later?

    - location: packages/fake/FakeApp-68.0.3440.106.msi
      hash: ce9c44417489d6c1f205422a4b9e8d5181d1ac24b6dcae3bd68ec315efdeb18b
      type: nupkg
      arguments:
       - /L=1033
       - /p $fake-msp-id
    - location: packages/fake/FakeApp-68.0.3440.106.msp
      hash: 65bf42b15a05b13197e4dd6cdf181e39f30d47feb2cb6cc929db21cd634cd36f
      type: support
      identifier: fake-msp-id

To set expectations, I wouldn't want to include this in 1.0. I would push this to 1.1.