Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support installing packages that require additional files #1681

Closed
vedantmgoyal9 opened this issue Nov 6, 2021 · 4 comments
Closed

Support installing packages that require additional files #1681

vedantmgoyal9 opened this issue Nov 6, 2021 · 4 comments
Labels
Issue-Feature This is a feature request for the Windows Package Manager client.
Milestone

Comments

@vedantmgoyal9
Copy link
Contributor

Description of the new feature / enhancement

Some packages like Orca (Windows Installer Table Editor) has an MSI installer but needs additional CAB files.
image

We just need to download the CAB files in the directory where the MSI installer is downloaded.

Proposed technical implementation details

  • Changes in the manifest schema.
    • A new field inside PackageDependencies can be introduced like:
      PackageDependencies:
      - DependencyFileUrl: <url>
        DependencyFileSha256: <hash>
      
      Since v1.1 schema is not released yet, can I expect this to be there?
  • winget-cli would download all the files in the directory where the installer is downloaded and run the installer normally.
@vedantmgoyal9 vedantmgoyal9 added the Issue-Feature This is a feature request for the Windows Package Manager client. label Nov 6, 2021
@ghost ghost added the Needs-Triage Issue need to be triaged label Nov 6, 2021
@vedantmgoyal9
Copy link
Contributor Author

Changes in validation pipeline would also be required to validate the DependencyFileUrl and DependencyFileHash.

@jedieaston
Copy link
Contributor

jedieaston commented Nov 7, 2021

I know this violates "winget takes the world as it is, not as we'd like it to be" but I'd rather ask the ISV to bundle it in a zip or inside their installer. Automatically modifying manifests and all of these DependencyFileUrls and keeping them in sync will be absolutely insane (from a community repo perspective).

Orca is bundled as part of the Windows SDK (Microsoft.WindowsSDK), for that specific case maybe installing the whole SDK makes more sense? The reason you're missing cab files is probably because the Orca msi file is supposed to be ran from the Windows SDK install media (or folder, or whatever).

Edit: I just looked at Orca again. You have to install only the MSI Tools part of the SDK (winget install Microsoft.WindowsSDK --override "/q /features OptionId.MSIInstallTools"), then run the MSI in place (msiexec /i "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\Orca-x86_en-us.msi" /passive). That's gross, but doable if you can run two commands instead of one.

@denelon denelon removed the Needs-Triage Issue need to be triaged label Nov 8, 2021
@denelon
Copy link
Contributor

denelon commented Nov 8, 2021

For this one, I am inclined to agree with @jedieaston. I'll leave this feature open so we can see if we run into this problem on a larger scale. Dependency support is already quite complex. I'll bring this up in the next design review. It is too late to get into the 1.1 schema, but we will discuss this for 1.2.

@joel0
Copy link

joel0 commented Nov 17, 2021

Having a dependency file would be useful for the package I'm working on. The Microsoft Keyboard Layout Creator generates msi files that require a subdirectory with a dll. https://github.com/workman-layout/Workman/tree/53a8e71b65700a26916981d4ebef0ce0bae503f6/windows/installer/workman-us

After #140 is implemented, I could have the package download the whole Workman repository as a zip to get the installer and dll, but there would still be benefit to only downloading the 2 files needed if DependencyFileUrl gets added.

@vedantmgoyal9 vedantmgoyal9 closed this as not planned Won't fix, can't repro, duplicate, stale Sep 9, 2023
@denelon denelon added this to the v1.7 Client milestone Oct 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Feature This is a feature request for the Windows Package Manager client.
Projects
None yet
Development

No branches or pull requests

4 participants